Yes, the problem is usually testing. Most serious developers will try to test their webpage in many browsers, but there is really many browsers and versions so you can't really test them all.
I usually test when designing using Opera and Firefox, and my collegue who used a Mac tested it in Safari too; then from time to time boot a Vista box (I'm running linux and IE's for linux just isn't reliable to copy all strange IE behaviour) and test it on IE (usually 7 and 8 beta). I would recommend to any web developer not to design using IE! The websites that have the most errors is obviously "designed for IE" because they barely works in other browsers and pops more errors. If you design using the standards and test using relatively standard compliant browsers like Opera, Firefox and Safari and then add the dreadful hacks for IE preferably using conditional comments (allthough it is nonstandard and proprietary, it's fortunately, and correctly, regarded as commendt by real browsers so you won't break the working code) you have less problems.
Another reason for errors is that one use frameworks wich is designed to work around browser differences and as a side effect, or possibly just because of an bug, pops error messages in some browsers. I certainly haven't got time to fix a framework just to remove a error message, and unless I can work around the problem and it basically works anyway, I must ignore the error messages, possibly file a report and hope it will be fixed in the next version (or even better hope IE suddenly and magically cease to exist :)