There are so many different factors that can affect size it is difficult to give you an exact reason.
Some of the things that can affect size are:
Genetics - poor genetics can lead to smaller more disease prone fish
Size and frequency of water changes - generally, more frequent water changes will help them to grow faster, which is why fry tanks are often changed 2-3 times a week.
Food Quality - poor nutrition can result in smaller less healthy fish
Overcrowding - overcrowded fish tend to stay smaller
Age - this is an obvious one, but some fish are slower growing than others, and can take a couple of years (or more) to reach their full growth.
Exposure to ammonia/nitrite - fish that have been exposed to high levels of ammonia/nitrite/nitrate for extended periods tend to be stunted.
Those are the factors I can come up with off the top of my head, and while they may have been in pristine conditions while in your care, you really have no way of knowing how they were cared for before you bought them.