Your question is
What typically ends a satellite's life?
and the answer is, as often, "it depends".
In the nominal case, lifetime is limited by fuel. All satellites need to perform orbit and attitude maneuvres using small rocket engines and are required to keep an end-of-life fuel reserve for de-orbiting, GEO stationary satellites are required to be moved at least 500 km above the GEO ring, and LEO satellites, as has been pointed out in another answer, are reequired to alter their orbit at end of life such that within 10 years the satellite is removed from orbit, which means slowing down the satellite which in turn decreases orbital height and therefore increasing airdrag, slowing down even more etc etc.
Orbiting Infrared telescopes and similar satellites are limited by the amount of liquid Helium used to cool the optics and detectors.
Of course if a problem happens, it can be anything. Still, in case of a problem the satellite operator will do everything possible to keep the satellite functioning as good as possible, famous examples being Apollo 13 and the Space Telescope. From my own experience I know of a satellite which showed a problem very early on, after extensive experimenting on ground with the engineering model we managed to circumvent the problem and keep the satellite going for 4 times its nominal life. I also know of a satellite that failed because the orbit control system sprung a leak on initialisation, the satellite was stuck in its transfer orbit and burned up a few months later.
Murphy always looks over your shoulder!