Why are springs better at pulling than pushing? We learnt that a spring stores and releases energy in either direction from the resting position when extended by some distance. When I tried doing this is real life by creating a very low friction surface and a spring and a mass, I noticed that the spring was far better at pulling the mass compared to pushing it. Any possible reasons or is my experimentation wrong?
 A: Note that we are assuming the spring is a coil-type spring, the likes of which you will find in school labs and such.
Most springs don't follow Hooke's law when compressed to the point where the windings of the springs start touching each other. So if by pulling you mean to extend the spring and then letting go, it is expected that this works better than compressing the spring if the spring is already "tightly wound".
A good way of seeing the situation where pulling and pushing is actually symmetrical is by hanging a spring from a table with a small load applied. That way, the spring+load system settles into an equilibrium position where the spring is not tightly wound. You can then give it a small push either up or down, and you will notice that it starts to oscillate with approximately the same amplitude if your push is almost the same in the two cases.
A: When you use the spring to push an object, and the loops in the spring come closer together and touch, the Hooke's law relation $$F=-kx$$ no longer has such a relationship (especially if the loops are in direct contact) and $k$ gets larger increasing $F$ in such a situation.
Of course when pulling an object (and the loops in the spring are not so close and Hooke's law works well), the potential energy stored in the spring can go into moving the object.
A: Hooke's Law for a metal-coil spring is usually analyzed in one dimension, but a spring is a three-dimensional object.  You have a couple of answers which describe a metal-coil spring compressed to the point where the coils touch, at which point it behaves like a metal block.  However, a stiff metal spring may also be subject to a buckling instability, where the spring suddenly goes bloop! out to one side and is no longer any approximation of a one-dimensional object.
The harmonic oscillator, which is how a graduate student would refer to a Hooke's Law device, pops up in all kinds of places across physics, not just in coil springs.  The leaf spring is more obviously designed to be compressed, and appears in old vehicle suspensions.  Modern vehicle suspensions generally use big, beefy coil springs, but I'm pretty sure even those are installed  so that the chassis compresses the spring onto the axle. Every time you drive a car over a bump, a spring pushes you upwards, rather than pulling.
A: A spring in equilibrium. You can pull it out by the number of winds times the circumference of one winding. How for you can compress it? The number of windings times the distance between two windings. Well, actually one less.
So, say the winding is $2\pi R$ in circumference, and there are $n$ windings. Then you can pull it out $2n\pi R$ meter. If the distance, in equilibrium, between two windings is $d$, then you can compress it $(n-1)d$ meter.
When these are equal? Well, then
$$2n\pi R=(n-1)d$$,
so (setting $n-1=n$)
$$2\pi R=d$$
So for a spring with $\frac{d}{R}=2\pi$ you have (more or less) linear behavior in both directions.
A: Without getting into Hooke's law or any such considerations, one way to think about the problem qualitatively is to consider the extreme scenario where the "spring" isn't one at all, i.e., where $k=0$. In this case, we basically have a string, not a spring. Strings can pull, but they can't push at all. What a non-zero $k$ does is simply allow for some pushing while at the same time not reducing the pulling "capability". For there to be a symmetry of sorts between pushing and pulling, one would need $k\rightarrow \infty$.
