Last week I tried to fly to Amsterdam. Unfortunately the weather conditions were really bad and my morning flight got cancelled. I waited in a line for 5 hours to get booked on an afternoon flight. Unfortunately this flight was also cancelled, since the weather didn't improved. Again I had to wait in the line for hours and then I was offered to take the journey with an overnight train. But again the train was also cancelled because the storm was too strong. So I had to go back to the airport and wait there in the line for the third time. Then I was booked for a flight the next morning and I got offered a night in the airport hotel. The next morning I made it finally to Amsterdam.
So my question is: What are my rights as a passenger if my flight is cancelled? Do I have to accept a later flight? If yes, how often? And can I just refuse to take another flight and get my money back? Who has to pay my hotel in Amsterdam if I can't arrive in time?
The flight was with Swiss from Zurich, Switzerland to Amsterdam, Netherlands.