The short answer is: we don’t handle the matchmaking, not really. Sony and Microsoft do. They provide us with a set of pre-made matchmaking tools that work on PSN or XBLA (and which we are required to use). The main function of these tools is to create and return lists of available games. (We don’t have any control over what games show up on the list.)
That said, it is still possible to do some things to sort out ‘bad games’ from the list. For example, we can ping every player that comes back on the list, and then remove any players with bad ping times, and then show you the list. But this causes several problems: first off, it slows the connection process down, and makes getting into every game (even good ones) take longer. Worse, the amount of time it takes increases with the number of people playing. If there’s a lot of people on the list, it could take a very long while to finish. This isn’t generally a good user experience.
Secondly, the lists we get back from Sony and MSFT are only useful for a short period of time. This is because, while you’re trying to join games, so are other people. This means that the longer you wait between searching for games and actually trying to join one, the more likely it is that someone else will have joined it, or the game will have been taken down, or something else will have happened. Any of these things can cause a connection error, so the longer we delay in showing you the list, the more likely it becomes for a connection error to happen when you try to join a game. For that reason, we prefer to be speedy about displaying them to you. By the way, this problem is worst when matches are filling up, completing, and being taken down very quickly (which is generally the case with fighting games). It is much less noticeable in games with longer match times, or that are server based, or that have a large pre-game lobby to join.
Regarding your suggestion that we automatically re-try when you Quick Match (or something) and a connection error occurs, we’re not actually allowed to do that. Sony and Microsoft both require, and pretty strictly enforce, that we display an appropriate message and wait for confirmation from the user whenever a network error occurs. What we could do (and I think this is what Blazblue does) is get the Quick Match target from Sony / MSFT, ping him, evaluate his stats, and if it’s not what your settings have specified, close the connection and re-search. But we would still have to display a message and wait in the case of an actual connection error.