1. To assert dominance. Whether it's jumping on people or jumping on furniture, both instances illustrate a dog that wants to raise his station in life. By jumping on you or jumping on the couch, he's saying that he's the pack leader--something that you DON'T want to happen, as a dominant dog is much more difficult to train (and can become quite aggressive). In either case, you'll definitely want to institute the proper alpha dog training techniques, if you haven't already.
A relatively new invention that will definitely solve this problem is the no jump harness. It works by restricting the movement of the dog’s hind legs so that it can’t jump at all. This should not be a permanent solution but rather something that can be effectively used during training. It should not only stop them from jumping chain link fences, but also from jumping on people and furniture.
2. Greet your dog on his level! In addition to waiting to greet your dog, you should also greet him in a stooped position, so that he doesn't have to jump up to greet you. Additionally, if you wish to pet or cuddle your dog, do so on his level. This removes the need to jump at any time. PRAISE HIM for not jumping. If he jumps, use the "Off" command until he stops.
Our inconsistency perpetuates the problem. Some of the time we tolerate the jumping and ignore it. Other times we reward the behavior by exchanging enthusiastic greetings. But when we're dressed up and the puppy's paws are muddy, it's a different story. Reprimanding the puppy for jumping up usually does not work. Either the puppy misunderstands the reprimand as praise or he gets even more excited and the jumping gets worse. If the reprimand is severe enough, the puppy may stop jumping at that moment but it doesn't solve the problem altogether; and it certainly is not a very nice thing to do. It's very similar to a person approaching you with a big smile, arm extended to exchange a hand-shake and you bopping the person in the nose. Even if your puppy learns that jumping up on you is not a good idea, he will usually get away with jumping up on everyone else.