My personal advice would be William and Mary over Purdue.
West Lafayette is not the most exciting place in the world. I've not lived there, but have spent a decent amount of time in various parts of IN and can tell you that it's pretty stereotypical of the midwest.
On the other hand, Williamsburg is a cool little hamlet and it's a great location close to Newport News, Hampton, Va Beach, etc. If you're a history buff and like an old European feel you're in like Flynn. If you like beaches, estuaries, marshes, and things like that you're in paradise.
West Lafayette is going to be significantly colder and snowier than Williamsburg, though Williamsburg will get quite cold at times. The winter will be rough in both places, but Williamsburg is at least 1) on the water so somewhat more moderate, and 2) not in the snowbelt.
Plus, while both schools are reputed William and Mary's far exceeds that of Purdue, IMO. Of course, I also always tell ppl not to choose based on school rep, but rather how well the program fits you.
Both good schools, both beautiful campus. Not a bad decision to be had I think?
Good luck!