You’re right that estimates tend be guesses, hopes, and/or wishes. From my experience, even a small amount of time spent gaining knowledge about a project can vastly improve estimates (and designs). Doing so seems like a waste of time, so most developers and business people don’t bother even advocating for such an approach.

Software Architect with a specialty in enterprise systems and founder of ExperTech Insights (https://expertechinsights.com)