When is a MOSFET more appropriate as a switch than a BJT?
BJT's waste some current whenever they're switched on, regardless of whether the load is drawing anything. In a battery-powered device, using a BJT to power something whose load is highly variable but is often low will end up wasting a lot of energy. If a BJT is used to power something with a predictable current draw, though (like a LED), this problem isn't as bad; one can simply set the base-emitter current to be a small fraction of the LED current.
A good N-channel MOSFET will have a very low \$R_{ds(on)}\$ (drain-source equivalent resistance) when properly biased, which means that it behaves very much like an actual switch when turned on. You will find that the voltage across the MOSFET when on will be lower than the \$V_{ce(sat)}\$(collector-emitter saturation voltage) of a BJT.
A 2N2222 has \$V_{ce(sat)}\$ from \$ 0.4V - 1V \$ depending on biasing current.
A VN2222 MOSFET has a maximum \$R_{ds(on)}\$ of \$ 1.25 \Omega\$.
You can see that the VN2222 will dissipate much less across the drain-source.
Also, as previously explained, the MOSFET is a transconductance device - voltage on the gate allows current through the device. Since the gate is high-impedance to the source, you do not require constant gate current to bias the device on - you need only overcome the inherent capacitance to get the gate charged up then the gate consumption becomes miniscule.
BJT's are more suitable in some situations because they are often cheaper. I can buy TO92 BJT's for 0.8p each but MOSFET's don't start until 2p each - it might not sound like much but it can make a big difference if you're dealing with a cost sensitive product with many of these.