I'll go through each one for you :) 
Walrein
PROS: 
- Great balanced stats
- Decent typing
- Good movepool
CONS: 
- Weak to a lot of types such as fighting or electric.
- not as strong as other Pokemon you've listed
Vaporeon (my personal favorite eeveelution)
PROS:
- Very bulky
- Can learn a good variety of moves such as Ice Beam and Hyper Voice
- Adorable
CONS: 
- Not physically defensive
- Water stone isn't available for a while ingame
- Very slow
Lapras
PROS:
 - Excellent balanced stats
 - Amazing move coverage
 - STAB Blizzards
CONS: 
 - Same weaknesses as Walrein
 - Very slow
Milotic
PROS: 
- Very specially defensive
- Decent movepool
- Awesome in contests (if you evolved it the classic way)
- Great abilities (I recommend Cute Charm)
CONS:
- Very poor defense
- not very fast
Gyarados
PROS: 
- Killer attack stat and decent special defense
- Has a Mega Evolution
- Can learn lots of great coverage moves
CONS: 
- Very poor special attack and defense
- 4x weakness to electric (unless you mega evolve it)
- good special move pool but again, poor special attack
All in all, I would choose Lapras. It has a lot more useful coverage than the other Pokemon in your list. It's bulkier and just an awesome Pokémon overall. :)