At every company I've been, I see source code with old code commented out instead of deleted. In a sense, this is almost using commenting like a primitive form of version control. I see pros & cons to this approach:
- In environments where requirements constantly change, some developers are more comfortable seeing how the chuck was previously written so that they can easily revert.
- You may be intending to switch back to the previous code, and it's easier to see it if the code is commented out, as opposed to digging through version control.
- As Steve McConnell suggests in Code Complete, the purpose of comments is to show the intent of your code. Using comments as version control can be misguided.
- It can imply a lack of confidence. If the code is really no longer used, why not just delete it and make your code leaner.
- It can bloat the source code very quickly, requiring future developers to read through more.
I think ideally old and obsolete code should be removed instead of commented out (makes for leaner, easier-to-read code), but I can see the other approach in certain development cultures.