I am mainly a business app developer and I hear terms like CQRS, ServiceBus, SOA, DDD, BDD, AOP a lot. My question is that do these patterns/practices exist only in the "enterprise" world? In contrast to the enterprise world is the open source community. Highly trafficked sites like Digg, LiveJournal whenever there is an article mentioning about how they built/scaled their sites all I am hearing is what open source software (Memcached, NoSQL) they used in order to scale/simplify the way they tackle software problems and they rarely mention those above terms. Is it because they are not as sophisticated as those of enterprise level software (I doubt it)? Or are people just making up those terms/practices/patterns in order to keep them jobs? Or am I confusing myself with differences between software development and internet website scaling?
Also I feel that with the increasing number of patterns/architecture/practices whatever I do seems to be wrong because there seems to always be a better/nicer approach if I am willing to invest a bit of time to learn and introduce a bit of complicity. I see myself will end up with endless of refactoring/learning new approaches without doing/producing anything concrete stuffs.