1. Sensors WORK, but they don't work as fast as they age. Sorta like me. They get "lazy" as they get old, so that they're not reporting rich/lean values as rapidly as they're supposed to. This results in reduced fuel economy LONG before there's a code set. Maybe even driveability issues, which could potentially set OTHER codes. Of course, no-one actually does this before the sensor actually fails. This is why O2 sensor cross-count values; or the graph of voltage vs. time on the scan tool is vitally important. You're getting solid data on the speed of the O2 sensor.
I don't know about OBD-II engines; I suppose the sensors last longer because the fuel and ignition systems are more-tightly controlled. Maybe. On pre-OBD-II vehicles, I start suspecting the O2 sensor is getting wiped at 50K miles; and I've seen them totally shot by 80K. 150K is insane. Don't get me started on vehicles that burn oil excessively, or dump steamed coolant into the exhaust.
2. Everyone bitches about O2 sensors being seized in the pipe or manifold. Duh. PULL THE FRIGGIN' THING OUT at 30K or 50K, even if all you intend to do is apply fresh anti-seize and screw it back in. This is EXACTLY the same advice they give for spark plugs, with only the service interval changed. (Iridium plugs in aluminum heads should come out at/before 100K miles, even if all you do is apply fresh antiseize and screw 'em back in. The plug may be perfectly useable, but waiting beyond 100K is begging for it to be seized in the head so bad you wreck the threads in the aluminum head taking them out later.) Of course, no one actually does this until the sensor (or plugs) are seized.
Foookin' people won't empty the crumb tray on their toasters, and that's free. Can't expect 'em to take care of their vehicles when it actually costs money.