I deal with HTML and CSS everyday so I'm probably biased but for me all these cross-browser compatibility problems related to rendering stuff are grossly exaggerated. Aside from IE6 (which, I believe, should not be supported anymore) supporting everything else is relatively easy. IE7 usually needs a couple of "zoom: 100%" here and there; IE8 handles CSS2 quite nicely (it passed Acid 2 after all); IE9 is on the same level as Firefox 3.6 - which is quite great.
CSS3 stuff is a bit tricky sometimes, especially if you're going for a pixel-perfect cross-browser compatibility. However, it's hard to expect that older browsers would support technology from the future. Flash 8 don't support Flash 11 features either. Still, in browsers the new stuff could be quite easily 'emulated' with filters, JS or ready-made solutions (PIE CSS), etc.
Latest Firefox, Opera, Safari, Chrome and IE10 - the bunch that supports both HTML5 and CSS3 from the start - are totally painless. That's the "HTML5 nirvana", IMHO. To be honest, breaking the compatibility between these the way the author did is quite an achievement - I really would like to see his code. Probably a quick and simple CSS Reset would solve these issues. Author's mistake is more probable though.
However, those deficiencies you mentioned are only "well worth it" because it's our only option. It's this complacent attitude that helped generate a need for a plug-in. HTML and CSS are still tedious to use and often times requires hacks to work in specific browsers. Why? We shouldn't need a mess of frameworks on top of frameworks to fix these "massive deficiencies", it's simply not good enough.