It is correct in American English to say "He stayed in the hotel." Here is an example, "He stayed in the hotel that night rather than joining his friends for dinner." And, yes, sometimes a person will enter a hotel and not leave until checking out of it, thus remaining IN it as well as AT it. ;-)
For Italian native speakers: how would you say we stayed in a hotel, instead of sleeping in a tent?
I ask, because in English, in that context, there is a big difference between staying and remaining (the former implies where you live and the latter implies where you currently are).
The word "inn" to me has way more the feeling of albergo than the word "hotel". Albergo brings up associations to the German "Herberge/Jugendherberge/Gasthaus/Pension", to the French 'l'auberge" the Spanish "albergue", they are all synonyms for places with the emphasis on rather temporary places of one or a few night/s of shelter for the the traveler on his way to another destination. I suppose, that "inn" is a perfect translation for albergo while Hotel refers to the bigger, more comfortable and more modern common accommodations of these days as princessanna777 already mentioned above.
If I am right with my approach, I would welcome, if DL would draw the distinctions between two words like these. If I am wrong, it would be nice if somebody would take the time to correct me.