Co-op local is my preference.
Online can go wrong in so many ways, plus unless you have a headset, it just doesn't feel all that fun.
Now as for who I co-op with? Depends.
Simpler games I prefer to co-op with my little brother. Stuff like Arcade games or Lego Star Wars. He follows instructions pretty well, and can actually be quite funny! XD
Best friend is my goto for co-op though. We have such a blast messing around with games, and we co-ordinate very well too.
The worst person to co-op with though is my Older brother.
Our personalities are polar opposites, and we clash all the time when we play with each other.
I prefer to take things slowly, observe the environment and you know, just take it all in and have fun.
He prefers to rush. He's aggressive, andrenaline-fueled COD-junky. Me messing around just makes him boil with rage.
Our skill levels and playstyle become a hindrance to each other, and we both end up performing WORSE together than we do as individuals! XD