Right now, my brother is going through Super Mario Galaxy. Since I like cooperative games and I would be watching him go through the game regardless, I decided to try out the two-player mode in that game.
The two-player mode in Super Mario Galaxy is an interesting novelty. It is very different than the alternating cooperative/competitive gameplay of the much older Super Mario games, and is a very refreshing change from not having any multiplayer support in the previous 3D games. The only other game with a cooperative multiplayer mode that really compares to it is Rare's old Jet Force Gemini for the N64. It is rare to have a multiplayer mode in which one player has a completely secondary role to that of the other player. While other games may limit the control options for any player other than the first (such as multiplayer RPGs), this is usually only for certain sections (such as movement between battles) and all players will have equal control over the game during other times.
Having one player be simply play a supporting role has a number of advantages. It removes the need to have two autonomous characters running around at the same time (which can be very hard to implement well, especially in 3D games). It makes it easier to simply add a multiplayer mode onto an existing single player mode, without resorting to the old system of alternating play. It also is a way of rewarding cooperative play by giving a slight increase in the character's ability; two players can do more with one character than a single player can.
Still, this implementation of cooperative games has a major drawback: it can be hard to make it fun for the second player. If the support role is not interesting, or feels redundant, then it becomes just a chore for the second player, and the value of having a cooperative mode is lost.
Overall, the way cooperative multiplayer works in Super Mario Galaxy in particular is imperfect. The second player functions as a hand to grab and throw Star Bits, and can also make Mario jump or spin midair. The biggest problem is that, despite the fact that the floating hand is the most important part of the second player's abilities, the first player still has that full potential at the same time. What is more, the first player can grab pull-stars, shoot Mario with those sticky pod things, and feed Lumas with his floating hand, as well as a few other things, but these options are unavailable to the second player. Rather than being essential, the second player is mostly redundant even in the cooperative mode, simply because the first player never has to depend on the second player to do something. It would be much better if the second player had full control of the floating pointer with no control over Mario, and the first player had full control of Mario with no control over the floating pointer. That situation would make the second player feel more useful, and make his role more consistent.
On a side note, I don't particularly like the feature of letting Mario jump higher if both players make him jump at once, simply because coordinating two people to do something at the same time is nearly impossible, especially in a pinch. The first player is better off just doing a backwards somersault or triple jump, rather than try to pull off such tricky timing. On the other hand, just having a second pointer on the screen is a great tool for trying to point out something that the first player didn't see, or to help point out a direction to go, which has often been difficult to do with words alone, so I approve of that feature.
I have had a lot of fun playing the game with my brother, but a lot of my fun with the game is because my brother voluntarily leaves a lot of things to me that he could do on his own otherwise.