Of the three hotels, the Marriott has the best spot on the river - and really is the only one with a resort atmosphere: but, of course, November is not the best month to experience this.
The Intercontinental is on the riverside nearer the Chain Bridge, and the Sofitel is next to it: just one street away from the river.
The Marriott built up a very good culinary reputation by being the first hotel in Budapest to offer a big American-style weekend brunch.
Can't speak from recent experience - but that would be my choice for a Thanksgiving dinner.