If the distance between your nodes follows the triangle inequality (you can never travel faster between two points by adding an intermediary step), then the shortest path visits each node only once.
However, if your network has nodes $a$, $b$, $c$ such that $$d(a,b) \geq d(a,c) + d(c,b)$$ any path that goes from $a$ to $b$ will always go through. So you can mark all the edges where this is the case and just use the length of the path of the shortest path between $a$ and $b$. For example,
$$d(a,b) := d(a,c) + d(c,b)$$
Solve the TSP using these updated weights (which no longer violate the triangle inequality) and in your solution, when you travel over the marked edge $\vec{ab}$, add the intermediary nodes along which the path is shortest.
In summary, TSP with Repeated City Visits without additional constraints (such as carrying packages) is equivalent TSP and only the slightest bit interesting when you violate the triangle inequality.
Here is the algorithm applied to the graph @byteherder suggested. After the preprocessing has run a vanilla DSP solution is as good as the suggested best solution.
