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. :)