Part of being an intelligent person is the ability to make the best call based on all available information.
There's no general rule.
I'll just say that fast iteration is key. You iterate quickly and show users prototypes, and incorporate their feedback (or not), depending on the case.
You can see the "Fake it till you make it" WWDC session on Apple's site, it speaks exactly about how Apple does prototyping and user testing.