Getting an older dog means you know what you're getting. A puppy is unpredictable on how big it will get, what will its temperament be, and if it will be good with children. When adopting you get a dog best suited to your needs and not a puppy you don't know how will turn out. When buying a puppy people go by a color or look. It is not a very good basis to go on.
Puppies often change in behavior and look.
You might get a couch puppy when you love the outdoors, or vice versa. When adopting you know specifically what your getting and how that dog behaves. Knowing you saved a life might be the most rewarding of all. Not only are you thankful you have a companion, your companion is grateful he is still living. Puppies in pet stores are guaranteed to be bought, just because there're cute, but not every dog is rescued.