I have a Garmin. My old one (Streetpilot 2620, no battery, no good for trains) showed RR tracks. The new one (Nuvi 755T) only shows them when zoomed in all the way, too close to really show anything around you. In urban areas I can see where the train tracks are by all the streets dead-ending along some diagonal stretch. Also, the old one could be programmed to show city names. The new one does not display city names. To find out where I am if I have no idea, like if I've been asleep, I go to a non-map screen to find closest address, or closest PD or hospital if there is no nearby address.
One nice thing about the Nuvi is I can upload my own points of interest. The downside is Garmin updates the software automatically and more than once has erased my lists, so I don't bother anymore. For a short time I had all train stations (including obsolete ones), all grade crossings in CA, and several museum lists.
I believe Garmin uses the most comprehensive POI database, however some newer units pull info off the web. There is more than once where I've used my cell GPS to find something, then plugged the address into the Garmin to actually navigate there.
My Nuvi has inadequate battery life, only a couple of hours, but is real good at finding signals even in the H-room of a Superliner.
My next GPS is going to be part of a netbook. I believe from other threads here that there is no other way to get train tracks to show in a usable way.