Understand, first of all, that this was a massive undertaking, the largest seaborne invasion in the history of man. There were bound to be problems and flaws, and as has been famously said, no battle plan survives the first day of war. Operation Overlord was no different.
There were some glaring mistakes in both the plan and the landings. Allied intelligence greatly overestimated the success of pre-landing bombings and offshore bombardment on German defenses. Other than disrupting rail traffic and inhibiting reinforcements, it had virtually no effect at all, and the landings met with fierce resistance and high casualties. This was a lesson we should have learned from our Pacific experience by this time.
Allied intelligence also underestimated the amount of anti-aircraft fire that would greet the airborne soldiers landing the night before D-Day. This forced the planes containing the paratroops to fly lower and faster than was ideal for a jump. This led to a slew of missed drop zones that scattered the 101st and 82nd Airborne divisions all over Normandy. They carried out their missions regardless, but with unnecessarily high casualties.
The plan also relied on simple blunt force: land as many troops as possible in as short a period as possible. Smaller, specialized commando units that could perhaps more easily have penetrated the Atlantic Wall could then have secured beachhead access for a larger landing later (and there were some of these raids, just not enough in my opinion to avoid the oncoming slaughter). Instead, thousands of British, American and Canadian forces died that day.