Stretching is important for everyone no matter what their goals are. Most people do not stretch because of the amount of time and effort it takes (even though it is virtually no time or effort). They feel that once they are done the physical activity part of their workout, then they are completely done. All that does is increase their risk of injury and interfere with their future performance. This lack of stretching can also lead to pain in the lower back, knees, hips, ect. Everyone should take 10-15 minutes every day to stretch.
There are the different types of stretching and they each have their own specific purpose.
Static stretching: This is where you get into the position and then hold for 20-30 seconds. Static stretching is best after a workout. If you do it before, you are increasing your risk of pulling a muscle.
Dynamic Stretching: This is when you do a moving stretch before your workout in order to prepare your muscles for the movement. One example would be doing the "zombie walks and butt kicks" before leg day in order to loosen up your hamstrings, calves, quads, and glutes.
Ballistic Stretching: This is a rapid bouncing stretch. I do not see ballistic stretching as good because it raises your chances of over stretching or pulling/straining a muscle.
Proprioceptive neuromuscular facilitation (PNF): is a type of stretching used for a muscles specific job. Resistance should be applied and then relax the muscle.
Partner Assisted Stretching: The main benefit to partner assisted stretching this is that you generally get a much better stretch/ROM when you have someone do it for you. It also helps you to ensure you are using the correct form.