I know that Sea Lion could never have succeeded because of the Royal Navy, but why couldn't the Luftwaffe achieve it's goals?
The RAF had a number of advantages.
For one, they were fighting over their own territory. If a British plane got shot down, the pilot had a chance to bail out and return to the fight later, whereas a German pilot who survived getting shot down would be taken prisoner and removed from the war. Similarly, a British plane that was damaged in battle was more likely to be able to return to its home base and get repaired than a damaged German plane, since the German plane would have to make it all the way back to France. Also, the British could afford to invest more heavily in fighter planes, while the Germans spent resources building bomber planes which weren't very useful in an air-to-air fight.
Another key was Hitler's terrible strategy. For much of the Battle of Britain, the Germans focused their bombing campaigns on civilian instead of military targets. The idea was to weaken British resolve and convince them to drop out of the war without an invasion, which of course failed. This meant that even when the Germans launched a "successful" air attack, they accomplished very little militarily. If they had focused entirely on bombing military targets, like air bases, naval bases, radar stations, etc., they would have had a much better chance at gaining the upper hand.