The problem is that different web browsers have different rendering engines, each with their own set of bugs and deviations from standards.
Web designers that try to generate flashy attractive pages push the functional limits of the browsers, and must code around the issues in each. IE, for example, tends to be less standards compliant, and adds many Microsoft proprietary extensions. So the code that works on IE may not work on Firefox or Opera, because they are not trying to emulate Microsoft's proprietary implementation, but rather the
W3C standards. Many web designers understand this, and either use a compatible subset (ugly web page), or code to specific browsers (ugly code).
Some folks that call themselves web designers are just incompetent, having learned only one environment (like Microsoft's proprietary world). These folks are the ones that code a web page that will only work in one browser, like the one you ran into. Frequently, these web pages are so browser specific, they will only work in one version of the browser! I've seen web pages that only render properly in IE6 - but not IE5.5 or the IE7 beta. This just gives real professional programmers and web developers a bad name, like any hack in any trade.
In summary, it's not the browser's fault, and it's not the platform's fault - it's the web developer's fault.