I agree in principle. But I've got to get stuff done in the real world. I don't have an extra week to read the 22,554 words of JUST the video/audio spec in HTML5, and try to figure out not just how all the browser versions differ from each other, but also how they differ from the spec:
http://www.w3.org/TR/2011/WD-html5-20110113/video.html
Sometimes user-agent sniffing is the only remotely sane thing you can do. Blame the browsers, not the programmers who have to work around their "idiosyncracies".