It would be nice if the numbering system in cisco really means that. But cisco is not that simple.
There are 2960-x models that are layer3 they can't run all the routing protocols but they can do most layer 3 functions. There are also switches in the 3xxx series that are only layer 2 if you buy them that way. It is sometime software and sometimes it is a different part number in the same line.
What is really bad is they have now started to reuse numbers so a brand new device may have the same number as some 10yr old boat anchor
A 2950 was a sorta strange switch. It was designed for what they call the metro market. Pretty much the difference is it has some very advanced traffic limiting configurations. It can only do layer 2...