Great software is code that is object-oriented. So there is not a bunch of duplicate code, and each object pretty much controls its own behavior. It is also easy to extend because your desing is really solid and flexible.
Great software is when you use tried-and-true design patterns and principles. You have kept your objects loosely couple, and your code open for extension but closed for modification. That also helps make your more code reusable, so you don't have to rework everything to use parts of your application over and over again.