Because just sniffing the user agent (which is what jquery does to populate the $.browser object) doesn't tell you the whole truth.
The user agent string can be easily changed in many browsers, so if you for example disable some features that don't work in IE from everybody who seems to be using IE, you might accidentally disable those features from some future browsers or users who just, for some reason (like for example to get around limitations based on browser sniffing), pretend to be using IE.
This might not seem too big of a problem, but it is still bad practice.
And yes, I am a IE sniffer too. I use
$.browser.msie && document.all
just to be sure.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…