I prefer Co-op, but Co-op presumes one thing:
All of your customers and their mates will buy the game.
L4D works because there is no story. You can jump in, start it up and do a campaign. If you add a story, suddenly you have to wait for that person to be free.
Most games now-days are competitive, with the introduction of online play.
Solo games can be played whenever, without the dependancy on anyone else. Remember, when L4D came out, people bitched for DAYS about the rubbish Single player campaign.
A useful parallel is the old Gameboy multiplayer. You had to have the game, a friend had to have a game and you had to have a link cable. The only game I saw that it actually worked with was Pokemon. Now, with the introduction of Download and Play, it doesn't matter if your friend doesn't have the game, they can still play alongside you (for example, 7 of my mates using my one gamecard playing MarioCart. By the end of the month, we had 6/8 players with their own cartridge).