It really depends on the game and the content therein.
I would absolutely let my 10 year old child play something like Halo 3. I'm actually not even sure why it's rated M. I mean, yes, there's a little spray of blood when you shoot enemies, but that's about it. No gibbing, no torture scenes, no ultra violence, really nothing much worse than many cartoons show these days. On the other hand, something like Metro 2033, Fallout New Vegas, or God of War I definitely would not let my child play until around the age of 14 or so.
I also definitely wouldn't let my child play online until at least the age of 14, when he/she enters high school, no matter what the game is.
I honestly feel that high school age is old enough to play any game though. The kids are going to be exposed to MUCH worse things in high school than they will ever see or hear in a video game, so there really isn't a point to "protecting" them from the outside world at that point.