Passengers are generated in towns and placed in a station that is close to the town. They need to be collected by a train (or a bus) and delivered to a different station that is also connected to a town.
The "Passenger destination" of May 2020 implemented that each passenger wants to go to a specific station, and not just anywhere. With this update the passenger economy changed considerably: The game keeps track of which other towns a given town is connected to, and generates passengers for those other towns - and only those towns. In other words, if a town is not reachable from your town, those passengers never appear at the station. This means that towns generate many more passengers if that town can reach more other towns - directly as well as indirectly.
So if you build lots of simple loops (town A <-> town B, town C <-> town D, town E <-> town F and so on) you will see a (relatively) small number of passengers (especially if you start your game with the game setting small towns). But if you then connect, say, town B to towns C and E (so passengers from all six cities can reach each other through station B) you will experience a massive increase in the number of passengers that want to use your network: while most passengers from town A might still want to travel to the nearby town B, the new passengers interested in towns C through F (that they reach through station B) will likely multiply your overall money income several times.
Upon delivery they generate money tokens . The amount of tokens generated depends on the distance between the towns passengers are transported to and from. The game measures the distance as a direct line between those towns, not the actual length of the rail tracks.