You can do all of the above and still fail. Often, success or failure is luck-based and completely not skill-based.
If it's true that luck is important, shouldn't it be 'smart' to try many 'fail fast' things so there's room in a career to fail 20-30 times and have a more reasonable shot at success?
You need to get out a product, and get it out fast. Keep your feet moving, talk to users, and build in the direction they want.