> Whenever I build a website I'm always forced to use some php code or javascript to find out the browser the user is using so the correct css is loaded.
In our situation, this actually causes much more overhead than its worth. Additionally, it is not foolproof since new browsers are coming out every day (Android and other mobile devices, PS3 and other gaming consules, etc) and it's impossible to determine which browsers support which CSS declarations.
I agree with you with regards to CSS errors, but warnings are a different story. We're about 60% FF :) Imagine that, more FF users than IE users!!
Also, just to get an idea of whether we really are outside the loop, and that all "professional" sites do what you're suggesting, I decided to run CSS validation across some other large sites:
www.digg.com => Fails
www.microsoft.com => Fails
www.facebook.com => Fails
www.google.com => Fails
www.apple.com => Fails
It seems that the standardized way of doing it really is to do what we do, which is to include CSS declarations for all browsers within one CSS file and let the browser figure out which ones to use.