Some 2D games provided non-linearity. You could take many routes and finish the game how you wanted. In some games like Commander Keen you could go around picking the maps you want first. Today's Prince of Persia is similiar to this in a way but the length of exploration puts you off.
Those games had a variety of environments with different characteristics which changed quite easily. Partly because the designers thought it would be cool to have a lava or snow level. Dungeon Siege I brought in elements from this and is partly a reason why I enjoyed that particular game.
2D platform games didnt provide repetitive, mundane, exploratory tasks. Many games had nice challenges in every segment of the level. But partly some segments were really hard to play and if they didn't have a save feature, you'd be put off by them. Some people however like this feature and say that it gives you a sense of achievement when you finish them.
2D games provided different, weird characters. Not weird like the scary creatures in Quake 4, but funny, entertaining and weird. They weren't like Quake where you had to gnash one monster after another. You wouldn't be too involved in trying to kill an imp that would jump out from nowhere.
The level characters are easy to play. Not like Quake where you have to keep firing at a creature and not get nuked by it. This makes 2D games unrealistic but somewhat easier to play. The bosses were hard to play. And you had to think how to hit the boss. Mostly today's bosses just have a huge amount of health points. That sucks.
2D games had level physics which you could enjoy, experience while jumping, flying or swimming. It doesnt feel the same way in 3D games.
The games were bright and lively. Not sophisticated lighting in dark rooms. It had a feel good factor to it. For example, many people might prefer Quake 4 to Doom 3.
2D games were small, didn't demand too many things. They were and are fun to make. Nobody needs to spend a fortune creating the characters or textures or environments in a 2D game. Nobody needs to spend involve themselves in advanced graphics techniques which involve shaders and lighting and what not. It's not something many programmers would like to handle. Even the most advanced 2D games are simpler to program. Today, an individual with MS Paint (or the more advanced GIMP) and a free compiler (C/C++/C#/Pascal or whatever) can create a simple 2D game which he can play, share with his friends and distribute. This isn't possible with a professional 3D game anymore.
Today, 3D games with a lot of realistic visuals always compromise on realistic physics for playability. Which brings me to the point that 2D games defined how 3D games must be played. The amount of complexity needed in rendering a 3D game doesnt justify its' playability.2D games were always about playability.