IIS 5 is also obsolete (Windows XP will die next year). There is little value to discuss about the further details about it, though your understanding is not correct as far as I can remember.
That setting alone only determines how ASP.NET framework interprets the native user token passed on by IIS (as IIS performs authentication ahead using its authentication providers). So for IIS 6/7/8, when you set this on ASP.NET side, you need to carefully check what is the corresponding setting on IIS side.
For example, when IIS side uses anonymous/(Integrated) Windows/Basic/Digest authentication, different types of user token will be passed on to ASP.NET.
http://msdn.microsoft.com/en-us/library/907hb5w9(v=vs.100).aspx
Therefore, your understanding of
"I can set the web server to Anonymous access and then each hosted web application could in turn determine if it wanted to use Windows Authentication by setting the mode" is wrong. If your intention is to use Windows authentication to authenticate clients, you must set it on both IIS side and ASP.NET side. Starting from IIS 7, IIS Manager puts those settings in the same place, but you still need to fully understand their differences and relationships.
For more information on ASP.NET authentication, you can refer to http://msdn.microsoft.com/en-us/library/eeyk640h(v=vs.100).aspx