The biggest mistake EU made was creating 1 currency, the EURO. If the EURO would not exist (or would only exist for healthy economies) countries like France, Italy and Greece could be punished for there bad behavior. Now that is impossible, all the members pay for the bad or sick members.
I don't like the EU as it is now. Countries should stay under their own laws, not EU laws. EU should just be active in things taht are win/wins for the EU members. Many EU members don't like the immigration politics of the EU either. The UK is not alone in that.
EU politicians are only busy with their own finances and carreers. There are too many of them and they all are overpaid.