It's a tough problem - because many of the examples you give are obvious for humans - but less so for machines. But here are some thoughts that may help:
SELECT
SoundEx( 'Mariott' ),
SoundEx( 'Mariot' )
gives the same results "M630". You need MDS installed (worth checking what you need as I'm no expert) to use this. You'll get some false positives and non-matches - but it's a pretty easy starter for your problem.
For the word order issue (SoundEx will help only with spelling variations and sounds like problems), I would suggest just splitting the hotel name into it's component words and running soundEx on each separately.
Hope this helps,
Jon