As any application matures, we need two types of programmers to maintain it. If you stick to just the veteran programmer that has years of experience, don't be surprised when they start saying No to every single request. If you only hire people fresh out of college, don't be surprised when your code becomes unmanageable one month down the line. You need both to have success.
It's important to have someone with experience to curb the enthusiasms of adding new technology. I've once worked at a place where the manager had replaced the entire team. He then embraced Microsoft Silverlight as the power behind their website. Six months later, most people on his team had quit. He needed to hire new people to convert the Silverlight project with something more traditional.
If he had any senior developer in his team, they would fight tooth and nail to prevent this.
After working for years on a project, I try very hard not to change any code. If it works, don't fix it. If it is not easy to add a new feature, I ask, is adding this feature worth it? This is where having new programmers help. They are not attached to the project as you are. They don't have feeling over the code you wrote. They are OK with making changes to core principles. This helps projects move forward despite us old geezers holding them back.