There are so many reasons a flight could be cancelled that it would take me hours to list them all.
It could be weather, equipment problems, crew availability, delays somewhere down the line, etc, etc, etc.
I had one instance a few years ago when the 45 minute flight I was scheduled to take was delayed and delayed and delayed. We kept hearing weather problems but the plane was sitting there and it was sunny outside. It was also sunny at our destination. However, the pilots who were supposed to fly the plane were scheduled to arrive on another flight. That flight came from Boston where there was a heavy snowstorm and everything was delayed for hours. Eventually they moved two pilots from another flight to fly my flight.
If you are flying on a non-U.S. carrier to Europe it's possible that there is no backup equipment or crew should one not be able to fly. (This includes flight attendants.). Or a plane had to be pulled for maintenance issues that can't be fixed immediately.
If you want to see something interesting, go to FlightAware.com and plug in your flight number. Do it for today. When it shows up there will be a button for "incoming flight." Press that and it will give you the incoming flight information for your flight. Then get the incoming flight information for that flight. Go back four or five flights and you will see where your aircaft has been.
On a recent flight from RDU to JFK, my flight left at 11:00 AM. Already that day, the plane and crew had flown JFK-BUF-JFK-RDU. Three flights and they arrived at RDU just after 10a. By the way, you can also use this on the day of your flight to see how bad the delays will be. I was once told my flight would be delayed 30 minutes. I checked, and my aircraft hadn't even left on it's incoming flight and that would take 90 minutes.
Airlines are supposed to tell you why the flight is delayed or cancelled but this sign is the best I've seen:
Flight Delayed