As for the correctness, see Tsuyoshi Ito's answer. As for why it is rendered like this, it is due to the famous political and/or cultural struggles between different countries at the Unicode committee and other computer industries.
In general, non-East Asian countries (especially American and European) do not care about the subtle differences between Chinese characters, and want to make the font encoding as concise as possible, assigning a single code to multiple variants of related characters or rendering those characters (even if they have different codes) as the same. The attitude of trying not to bother with East Asian languages is obvious in Microsoft products. In Windows (at least until XP), the entire operating system (not just the locale setting) is different for different languages, and when you want to use an East Asian language on an English version, you not only have to set the locale, but have to figure out the way to turn on the 2-byte encoding service, which is turned off by default and is hidden somewhere making it difficult to access. Google's Chrome web browser is also known for its terrible handling of font encoding especially for East Asian languages. (Rare as an American company, Apple has good understanding on this matter, and iOS does not have different versions for different languages. You just change the language setting, and it works.)
On the other hand, the East Asian countries are concsious of the difference, and in general are for encoding them differently. If any East Asian country is toward unifying them, I can imagine a political reason. For example, if Mainland China wants to exclude the traditional form and push the simplified form to be adopted, then that can be a road map towards culturally unifying Hong Kong, Makau, and Taiwan.