I disagree - it's nice to be able to serve a mobile layout to a mobile device. If I'm trying to load, say, CNN or ESPN on an older mobile phone, I don't need all the cruft that comes with the desktop version.
(We can get into all the evils suggested by http://xkcd.com/869/ , but for the purposes of this argument I'm assuming that web developers and sysadmins are competent and not evil.)
And then you get served mobile version of the site because you are using Opera and some incompetent web developer[1] decided that it's a mobile browser. But you got a point. However, deciding what to show should be based on the device (resolution, size, orientation, input methods, ...) and not the browser.
Now, just for fun and laughs, check out what user-agent string is sent by Chrome. I guess Google assumes everyone is like them and their poor browser would get blocked if they just said it's a Chrome.
Those don't really affect the HTML that gets sent.
# wget --user-agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3" http://www.cnn.com/ -O cnn.mobile.html
# wget http://www.cnn.com/ -O cnn.standard.html
# ls -lhrt | grep cnn
-rw-r--r-- 1 pavel staff 29K Feb 24 13:12 cnn.mobile.html
-rw-r--r-- 1 pavel staff 104K Feb 24 13:13 cnn.standard.html
I don't need 100K worth of stuff on BlackBerry 1.half's browser that can't render most of it.
While we're at it, let's get rid of User-Agent. No sarcasm intended, I'm serious. It only does bad things.