Halo 3 isn't my favorite online game, but I can definitely say it's the most polished and IMHO best setup out there. It has the best host selection and it was the only game I know of that has host migration (in 2007), MW2 has pretty bad Host migration that often fails. H3 even has a pretty good system in place to deal with lag. It has many playlists for both ranked and social, and also uses TruSkill matchmaking very well for fair competitive matches.
I do agree that you should be able to play your custom games with strangers though, it can be fun. But I really don't see how you can compare Halo 3 to Wii Friends Codes, IMO that is the sorriest excuse for an online system I have ever seen.
Gears 1 had Ranked and Player matches. Basically Player matches would allow you to do what you can't in Halo 3, COD and even Gears 2. It was kind of like a server list like many PC games use.
Gears 1 Player Matches
*Host your own open lobby
*Choose your Map
*Choose your Game Type
*Choose your Weapon setup
*Boot Players you don't want in your game (This can be abused)
*Join the match with the best ping
*Turn on Friendly Fire
Random players can join/leave as they wish. Your hosted game shows up on a list of lobbies and you pick the one with the setup you want to play. In the list it will show Map, Gametype and whether or not Weapons have been changed or if friendly fire is on. Ranked is very similar, but you can't change a few things like weapons, friendly fire and a few other things.
It was perfect, you could basically play what you want however you want. I have no idea why they removed this from Gears 2 and replaced it with a crippled, broken Match
Making system. Because of this Gears 2 is one of the Laggiest games I have ever played.
If they set up a good MatchMaking sytem for Ranked, and add some lobby system for player matches like Gears had I think it would be perfect.