Hotel - Usually large and fancy, has a line of hotels (hilton)
Motel - Usually much cheaper than a hotel, but the rooms are smaller and are not well cared for. Usually along a busy road.
Inn - A step higher than a motel, lower than a hotel. Staff are not as good as hotel staff, rooms are old/slightly dirty (cleaner than a motel), cheaper than a hotel most of the time, but more expensive than a motel most of the time.
Restaurant - ....A totally different genre. You eat there. That's it. Maybe you meant the difference between diner and restaurant? A restaurant is usually large, with a mixture of seating (booths, tables, arrangement of chairs) and has more options.
Diner - Smaller, usually only one. Usually has homely taste to the food, and staff are much more laid back. Usually bar seating or table seating. Small.