Not a dumb question at all.
There's A LOT that goes into proper matchmaking, and ever since Halo 2 introduced the concept of algorithmic matchmaking instead of just people looking for open slots in a list of sessions, it's been something that's only grown in complexity.
Matchmaking has to have an incredibly rich set of rules which handle the logic around what to do with gobs and gobs of data... and when a problem arises in matchmaking, it can kill the entire MP experience (as was the case with MCC). To give just a handful of examples:
1. If matchmaking doesn't consider open/moderate/strict NAT configurations, then its can result in endless circular searches that never resolve.
2. The Xbox service gives users the ability to police the community to some extent, and if gamer A doesn't like gamer B, then matchmaking needs to respect that. But a bug in the way a game handles that could cause matchmaking to fail, or take far longer than it should.
3. Streaming-installs are allowed, which means player A could try to play an MP game before they have all the content, and player B (whom has all of the content downloaded) could be improperly matched with player A, causing the game to get into an unhandled scenario, and the game could crash.
4. If rules like session search time-outs aren't managed properly, time-outs could be set to occur too frequently, which results in users never getting into a session. Imagine a scenario where even in ideal conditions, it takes about 10 seconds to list, identify, filter, and ultimately select a single user as an acceptable one to be matched with. Now imagine that devs think that step should never take more than 30 seconds. Imagine too that the team began matchmaking for only 4 player games and therefore set the max time before timing out and re-running a search to 120 seconds. But now imagine they ship with support for 16 players. Well, if they didn't properly update matchmaking settings, a 16-player game would never be possible, because even in BEST conditions, it still would take 10 seconds for a single user to join, and 10x16 = 160 seconds, but the matchmaking time-out is configured to time-out after only 120 seconds.
I could go on, and on... but the point is, yes, matchmaking is very challenging. Bungie started something incredibly smart with matchmaking, and it's a really cool advancement in MP gaming (which has totally taken over from the old-school 'find a session, and jump in' model)... but yeah, it's complex and not easy to get right.