there's probably truth to that, but I find it's useful at a more micro-level. I don't tell the llm to write an architecture or a big piece. It's more like, I have this data in this shape, I want a function that gives data out that shape and it will spit something pretty good and idiomatic. I read it, understand it and implement it. Need to be careful with blind copy-paste, there are sometimes subtle bugs in the code.
It's specially useful when learning new frameworks, languages, etc. To me this is all applicable regardless of domain as the micro-level patterns tend to be variations of things that have been seen. I suspect if you try to load it with a lot of very specific high level domain logic, there are more chances of taking the llm out of its comfort zone.