Stretching allows the object to appear as if it is traveling fast; the more stretch the faster the object appears.
Squashing is used on impact; the more it squashes the harder the impact.
The trick is to make it as unnoticeable as possible, as in real life most things don't stretch and squash.
I have made two 2d animations using this stretch and squash technique.
My first animation is a simple bouncing ball.
My second animation is using a simple shape and to make it look as if it were jumping, this was slightly more complicated as i had to use a secondary animation on it. (the antenna).
I started off by animating the square first and then going back over my drawings and animating the secondary animation, so that it flow together.
The secondary animation needed to move in the opposite direction to the primary animation.