Deleting and Detaching Shaders

Alright, so I stumbled upon something I thought was interesting, why do we detach and delete shaders? According to a couple forum posts you should do this to save memory, apparently quite a bit of memory. However, there are other posts suggesting that we should not be doing this. Which would be correct and why?

Here are the threads in question:

http://www.java-gaming.org/topics/having-trouble-with-drawing-a-triangle/31691/view.html


https://gamedev.stackexchange.com/questions/47910/after-a-succesful-gllinkprogram-should-i-delete-detach-my-shaders


https://stackoverflow.com/questions/9113154/proper-way-to-delete-glsl-shader