Why do so many large tech companies have awful apps and many indie apps are great ?

Why do so many large tech companies have awful apps and many indie apps are great ? I see so many bugs/crush or some features that work really bad, they have so many servers, developers, some algorithems, write clean code, develop product years but there some indies or small companies that make way better apps, I even saw developers that write in 1 file and everything work perfect, what the catch ?