Over the years i have worked or consulted to a lot of organisations. One of the more frustrating things to see is disparate development, not just at an application level, but also at the database layer. I have worked in places with SQL Server and .Net, only to see a new lead developer be hired who wants to use Ruby or Python and NoSQL databases or MySQL or Postgres etc etc. The list could go on. Sometimes I pondered if this was the best for the business outcome or was it because it was the newest, latest, hottest (aka coolest) and everybody wanted to play with it, maybe so it could be on their resume.
The same applies for SQL Server. I have seen teams write their own replication, use Notification Services, Service Broker and a lot of other components to achieve their requirements, but may have been done a lot simpler with other tools. Maybe it was the case that this is what they knew, so they kept using it.
What all this means is that your environments become more difficult to manage and troubleshoot. You need staff with specific skills that my be hard to find.
It may sound really boring, but keeping it simple and trying to stick to a standard development methodology should make things easier and cheaper.