The problem is where to put the energy. The amount of energy recovered from a large train is just too large to store. So hybrid locomotives are used for switching, where the amount of energy is smaller.
Trains don't need additional power to climb grades, they just slow down. To go the same speed would requires not just more energy (fuel or electricity input) but more powerful electric motors to turn that energy into torque. And they just don't have those bigger motors. If they did, they'd just bring along a bigger generator and then again still have no need for the electrical input. Because in a freight train a lot of the ability to put down power relates to the weight of the locomotive, as more weight means more friction on the rails. So if you're going to make the locomotive heavier, why not just do it with more fuel, more prime mover and more generator?
Passenger trains usually hail the same cars every day. So those cars can have the motors in them and the locomotive (if present) just converts fuel to electricity. In that case, you have enough grip and power already, so removing the prime mover and generator can make it a lot more efficient. But since freight trains just drag different collections of cars each day, it has to do all the work.