In the end, many indies are bad at making games (coding, design) partly because they're inexperienced, but almost all of them are bad at business (marketing, advertising, hiring, finance, strategy).
It's probably important to separate indie studios from "indie games" the genre, which is more about artistic or retro style games that target a more traditional gaming audience. Common themes involve getting featured in the app stores and in traditional gaming media outlets, 'superstar' developers, and very specific genres and art styles. If you want to reliably succeed in this genre you probably want to have a very public social media presence and try to make friends who are on the app review boards or are editors of various publications.
I've never had an app featured in any sort of major store and I don't do tons of UA, I just build solid games and focus on organic growth and exposure. For instance, the first decision I make when it comes to a new game is picking a visual/marketing theme, naming, pre-positioning for keywords, etc. Then I build a solid game that monetizes. Of course, I take into account how long the game will take to build, how difficult it will be to maintain, cost of assets, etc etc too. It helps to reuse game engines to reduce build time and complexity. You know, the kinds of absolutely regular business decisions you make in the course of running any business. It's actually a lot more boring than you'd think making games would be!
Many "indie game" developers have extremely anti-business attitudes when you talk to them so it's not a big surprise to see many fail. The ones who are passionate about the business side of things tend to fare a lot better on average.