It does simplify architecture in a way because everything can be referenced directly in the same projet, but you quickly run ito collaboration issues and runtimes get really long. Use logical states for each discrete piece of a service/module and have those output the needed config/info. Then reference those outputs from other states/modules.
This is the only way I've seen to really scale a TF project effectively. It's not perfect but it's workable even for large teams.