Thank you for posting here with you side of events. Sadly Christmas cannot always be perfect, even when you are 9 or 10. I hope the rest of your holiday has been better.
In addition to Jimacs post...
Different airlines have different Operating Protocols, and any non emergency decisions are made jointly by the Captain and Airline Operations, but at the end of the day the pilots decision is final.
As for 'Operational Reasons', the weather is an Operational Factor. You will find that Easyjet probably took the decision to cancel flights to Funchal in order to avoid delays running well into Christmas Day. This is not, as might easily be thought, a selfish decision but simply a commercial one. Easyjet has never operated on Christmas Day, therefore the expense and logistics of doing so, even temporarily, would be prohibitive. Ground services wouldn't be geared up for the extra work either, as most firm run a skeleton staff of Volunteers, check in staff would have needed to be retained, the list goes on.
Easyjet probably cancelled the its remaining flights to Funchal as part of the decision that saw your flight return to Bristol.
I know of a couple Airtours A320 pilots who would divert to Stansted rather than land at Gatwick, even though the aircraft before and after landed with no problems.
Before I am accused of owt, I spent nearly twelve years working for ground services companies at Gatwick, and have seen things that would make you laugh, cry, scream, shout and render you speechless every day.
Be grateful that you chose to fly with Easyjet rather than Ryanair, and I can only hope that the Bristol Holiday Inn is nicer than the one at Miami Airport, which as I recall, had mildew wallpaper.