I don't see why it is particularly confusing, if you are driving round the M25, you just see signs for the next routeing point, so if you are joining at the M23, you see Heathrow (M4, M1) or Dartford (M20, M11). This approach seems to work for the roads, and is readily understood, so why not the railway?
To those that would prefer a "Circle line" approach, the Kent, Richmond and Wirral loops are much more complex than the circle, and a mixture of service patterns is possible (London - Greenwich - Sidcup - London, London - Greenwich - Bexleyheath - London, London-Lewisham - Woolwich - Sidcup - London, London - Lewisham - Woolwich - Bexleyheath - London, and London - Bexleyheath - Sidcup - London covers the main combinations for the North Kent loops, most of which are used by at least one service daily).
The big improvement would be made by numbering our services like the Germans, so you could say "take S31, S32, S32A or R61 for Greenwich", but that suffers from a "not invented here" issue (although route codes used to be used before the days of ubiquitous dot matrix screens). Just so long as we don't move to the Parisian approach of "mission" codes (at least I don't find "take the ECCO, ICAR, IDIL or EBON train" particularly memorable)