Matchmaking is the bane of team games. Matchmaking destroys the community aspect which dedicated servers have. Each server is a mini-community frequented by like-minded players. People on dedicated servers create bonds with each other and they soon learn to rely on each other (or at least the better players which keep returning to the server).
A server is as good as its admin(s). Bad admins encourage (often by inaction) bad behavior, trash-talking, selfish behavior (which has no place in a team game), skew rules to their favor, or kick players who defeat them personally. Good admins foster high level play, and if not friendly then at least respectful behavior.
Matchmaking is okay for 1v1 games, for games where all you care about is your win/loss ratio. In team games, it tends to group together random strangers who don’t care about each other. It’s like trying to have good football matches by picking random people from a railway station.
Having matchmaking doesn’t exclude dedicated servers or server browsers at all, just look at Battlefield 3. What you are worried about is peer-to-peer multiplayer, that is very different to matchmaking.
“Doesn’t exclude” is not the same as “doesn’t make worse”. And I believe matchmaking does conflict with dedicated servers. It siphons players from them.
What matchmaking can add is the ability to match the skill level of players joining the same server, providing better games, on top of all the other usual PC functionality.
We have a different definition of a good game. When you play with people of the same skill, you have little motivation and probably won’t improve. But when you play in (and against!) a good team, it makes you try harder. Works for sports teams, music bands, even programmers.
Dedicated servers tend to sort players by skill. People who can’t stand being beaten over and over will go to a different server. People who are annoyed by incompetence of their teammates, who often feel they have to do everything alone, will go for a more challenging environment.