The major advantage trains have to belts is simply the fact that you can have multiple trains use one set of tracks to go to different destinations, Though you need to worry about collisions in that manner unless you build a more complicated system with 2 lanes.
If you build one advanced network of train rails, you can then have dozens of trains use the same rails to get to different destinations. Set up one Big copper mine that makes copper plates, and then you can build a train stop anywhere connected to the network, and have a train haul only copper plates from that original stop to your new stop. The copper will get from across the map from A to B, and it will only be copper. while you only had to build a few rails to do so since up to 90% of it will have already been done for hauling other resources. On one single track, you can have any and all resources travel over it in your trains, but will never mix and always get to where you need them in a timely fashion.
This of course is very difficult to accomplish, as it is very complex. The biggest Let's players work around this by doing it modularly, so that all of the hard work is only done once and they have drones build all but the fine details. This allows them to find a place with the raw resources they need, and then can bring over whatever they need to finish production. Building Belts for one or two lanes is certainly more efficient than setting up 1-2 trains, but if you need to get lots of resources to lots of places, then your going to need dozens of lanes of belts that are likely going to need to cross over each other and are only good for one thing each, But 2 train rails with a few stops can do the exact same thing and more.
Don't forget each cargo wagon can hold 40 stacks of items, which is 2000-4000 items for most resources. Each belt can only hold 6-8 items (ignoring throughput here), which means an average train with 3 cargo wagons can hold more resources than 1000 belts, but only take up the space of about 50 transport belts.
And there is always the ability to ride the trains for high speed travel.
Edit: Something else to consider is storage at the train stations themselves. The most popular thing to do is to set up chests and have inserters go from chest to cargo wagon directly for the stack inserter size bonus. I don't recall the exact number, but i believe there are 6 slots on each side of the wagon, for up to 12 chests of storage, both on the loading and unloading Train stops, for an additional 24 chests (which could be steel chests) of storage of resources per cargo wagon, for 72 chests for a 3 wagon train. This is a massive buffer of resources that could be filled while demand is low, and then last a long time when it goes up.
If someone knows the math, feel free to replace this with it, but a train system with at least moderately upgraded Inserters and 2-3 wagons could likely complete if not beat red belts in terms of throughput thanks to their capacity and speed. Of course you could always just add a 2nd or 3rd train, then it probably could blow blue belts out of the water.
Here's a not-so-elegant solution:
Rename all train stops with the same name to a new (but still shared) name. You can do this by adding the stop to a train's schedule, clicking the text to locate one of the stops on the map, and then rename it. Do this one by one. Sooner or later the sought-after stop will be the one that Factorio locates on the map for you.
It is crucial that you finish renaming all train stops even after you locate the one you want to find to not mess up your train scheduling.
Best Answer
From my tentative understanding of Factorio train mechanics, and tidbits I found on the web (I've been working on a very similar type of system recently), there are two factors here:
A train does not recalculate its path every time it is stuck, but only when it leaves a stop or it passes a regular signal. (There's also some kind of timeout or scheduled recalculation so trains don't remain stuck forever, though I think that might be newer than the version you were using.)
When a train is choosing a stop, it doesn't matter if another train is already planning to go there, but only whether the block is currently occupied.
Therefore, two trains may pick the same stop while some distance away and not notice the interference. Here's how to help them notice, at least within your Yard:
Do not allow any stacking of trains before the Yard stops. Branch the track as close to the stops as you can, and use a chain signal at the entrance to the branching. This ensures that a train will be seen to occupy the stop as soon as possible after it's actually committed to that stop.
Place a regular signal shortly before the branching point, even though that means it's right before the previously mentioned chain signal. This will ensure that the train has picked a free stop based on the latest available information.
Unfortunately, there is a case where a train is doomed to wait unnecessarily: when all stops of that name are occupied. In this case, it will always pick one and head as close to it as signals allow, then wait there until the time-based recalculation sends it elsewhere (or that one stop becomes available). The way to make the best of this is to be sure to use chain signals to prevent the train from heading down a branch before that branch's stop is available.
(Your Unload stations seem to be designed suitably already, so it might be simply that the Yard isn't efficient enough to feed them.)
Finally, one weird possibly-bogus fact that you might bump into if you expand this further: from my own testing, it seems that a train will only choose between 10 same-named stations. Any more than that, and it will only check the nearest 10. You can work around this by using tricks like having trains arriving in different directions (having a different idea of the 10 nearest), or a multi-stage choice (e.g. each yard stop goes to a different set of 10 unloading stops), which is what I'm doing.