If you are savvy with a computer, or have a lot of patience, you can program a Baofeng to scan all of the known train freqs. I live next to a sizeable switching yard and could pick up their convos with a very cheap UV5R with the stock antenna.
The programming cable is an extra $20 plus a free copy of CHiRP and you're golden. No, it doesn't do trunking or whatever, but if you just want to scan the RR, that will do it for pretty cheap. You have to make sure not to transmit, but that can be disabled using the programming software.
Also, you can program in the weather radio freqs and monitor them as well. It also has a broadcast FM radio tuner so you can listen to normal radio while scanning for RR traffic.
I can tell you that the stock battery in the little Baofeng lasts a really long time between charges.
If you want to do everything, Police, Fire, RR, etc, then the Bearcat is pretty sweet.
For an operator, the Baofeng is not a good radio, but for the casual listener/scanner, it's pretty good.
They don't like being run over at all. I've lost two radios due to them getting dropped and run over.