The longest version is almost 50% longer than the shortest, and even within the "next generation" models, the difference is almost 40%. Why such a big difference in lengths?
Airlines want to have different sizes of aircraft to match their passenger loads as well as possible. The different loads may be for different routes, times, or airlines. It is more efficient to fly a smaller plane if extra space isn't needed.
Aircraft manufacturers have some options for how to meet this demand. They can create a whole new airplane for each size, but this is expensive for everyone involved. Each plane would have to be certified separately, requiring much more time and testing. They may not be alike, requiring pilots to be trained on each individual one. And airlines would have to maintain all the different types of airplane.
Instead, aircraft manufacturers choose to stretch the fuselage to fit in more passengers. This can allow most other things on the plane to remain the same, with generally just minor modifications. This greatly decreases the amount of design and testing required to create the new size of aircraft. The same pilots and mechanics can work on any of the sizes, since most parts and features are common to all of them. There will be some inefficiency, in that parts on the small versions are designed to withstand higher loads of the bigger versions, but this is more than offset in the cost savings of having common parts.
Most aircraft come in different versions with different lengths, but it can be most noticeable on the smaller planes like the 737.
The manufacturers also market their products based on their coverage of different seat capacity. Each manufacturer is able to cover a wide range of seat capacity by offering different sizes of 3 basic models.