From what I understand, a router is always a gateway, but a gateway may not be a router.
Additionaly, gateways allow access to a dissimilar networks (i.e. different OS or archetecture, etc), whereas a router just allows access to a similar network, one with the same OS or archetecture.
Also, I ran into a question on a practice exam that suggested that to connect a switch to a cable or dsl modem, you would need a crossover cable. I initially assumed this question was just blatanly incorrect. But given some further thinking, I thought it may actually be correct given that a dsl/cable modem is actually not a modem at all, but a layer 2 device (thus related to a switch, or so I think)