Simon Peyton Jones of Haskell fame says "avoid success at all costs." He is talking about programming languages and Haskell in particular but I think he would have no problems extending it to other software (and technologies?) in general. At first this seems ridiculous, isn't all the motivation behind all the work is about becoming popular and being useful to a lot of people and hence becoming "successful"?

He goes on to give his reasons. When you become popular people start using your product in ways you have never anticipated, even when there are better alternatives. For many users being popular is enough to choose a product. You will inevitably start adding features that do not really fit into the grand architecture, in order to satisfy your new users. If you begin to spread your software base and features in many different levels your software becomes much more complex, and this is almost always something bad. Why is "do one thing and do it well" at the center of Unix philosophy? As per Hoare's principle, you will stop being obviously bug free and become having no obvious bugs. And it doesn't help that it is not easy to resist new feature requests.

The other disadvantage of becoming popular is the inflexibility it brings. You will have to consider how people are using your software while making decisions. It's not as easy as in the beginning to change some part of the software that just doesn't look right. You'll have legacy users who will complain every time you change your API. They will tell you "please don't break my code." If complexity is one of the most dangerous ways to turn to a wrong path, then not being able to evolve is another one. It's because evolution and change is at the heart of technology. You cannot survive unless you change, and unless you change faster than your competitors. If you cannot make the necessary changes then someone else will come and grab your food.

I think these are more or less what is conveyed by "avoiding success at all costs". I certainly think these two sides are at the center of discussion. How to implement these decisions are frankly beyond me, I'm also trying to grasp it as best as I can.