I just verified that this documentation is incorrect when it says "When retail is set to true, ASP.NET disables certain configuration settings such as trace output, custom errors, and debug capabilities. "
Setting retail to true *forces* it to show the custom error pages no matter what the custom errors mode is set to in the web.config. Exactly opposite of what the documentation says.
I can only assume that what it means is that it disables your settings and uses its own, but it's not very clear. Everyone that reads it, reads it as "it disables custom errors". And then they dismiss the idea of using it because who wants to disable custom errors?