We stayed at the Williamsburg Marriott. It was a nice Marriott but that also means it wasn't the least expensive hotel. I shopped it a while, and think the rate was $109 a nite. I saw a Courtyard in the same area, but at the time, the rate there was about the same (maybe even a little more) as the nicer "regular" Marriott. The Courtyard looked pretty new. I think I saw a Hampton in the same area. As I said in the other post, there were some other nice hotels that were on the other side of Williamsburg on the Richmond Highway - I remember a Springhill that looked new and a few others. Williamsburg isn't that big to me as I'm from the Dallas area.
I have to say the Marriot was great location, literally 5 - 7 minutes from Bush Gardens. Probably about 12 minutes from Colonial Williamsburg area. Nice indoor/outdoor pool. Great little shop that had bagels, milk, etc. for very reasonable price. McDonalds and BurgerKing close by. Also seafood restaurant that had a great early bird dinner.
Bush Gardens is a wonderful theme park. I don't know if they are open in the winter or what the hours are. The rides are great, the grounds are clean and we didn't have very many lines at all. We were there on Sat. and Sunday during July. Colonial Williamsburg, depending on the age of your kids is another great entertainment option with an educational slant. It's worth getting the annual pass so you have evening privileges.