Absolutely agree that weathering, both heavy and light, is essential to good models for any game, unless intentionally made to look 'clean'. You don't want to overdo it, too many super heavy weathered items can make the scene look just as fake.
Unfortunately it does take a bit of work to get weathering to look right, especially in 'generic' form (ie if you repeat the same object, you don't want the weathering to be too unique otherwise it is obviously being repeated).
Even very basic weathering, along the lines of dirt/dust/soot can help. But adding a bit of 'grunge' texturing (generally in the form of photo textures overlayed over the rest of the textures) can really make a model pop. This isn't specifically photo texturing, but simply photo overlays on existing textures.
A good example of this is actually the closest wagon in the photo (ex Victorian Railways JX cement hoppers). The dirt on it is very generic, minus the graffiti, which makes for good reference for weathering up such a wagon. A model weathered up like this would look reasonably good repeated a few times in the train, even if you have 2 or 3 different versions with slightly different weathering and different logo positions as shown in the photo.
These are also relatively lightly weathered wagons, compared to some wagon types (and compared to how they looked when painted VR wagon red, where the cement streaks/etc contrasted heavily with the paint!), but definitely not perfectly clean!
That said, it is very handy to have a few clean traincars, and similar, mixed in. Most railway companies will repaint wagons 'regularly' (amount of time changes depending on their repaint schedule of course

), generally after specific types of maintenance. On the VR from memory it was about every 5 years for most wagons, but it does mean you get cleaner wagons mixed into a lot of trains.
Regards