Why was United States Navy Admiral William Halsey promoted to the rank of Fleet Admiral instead of Admiral Royal Ingersoll? Halsey was the Commander of the US 3rd Fleet which was part of the Pacific Fleet, while Ingersoll was Commander in Chief of the Atlantic Fleet, essentially the Chester Nimitz of the Atlantic.
I don't mean to be flippant, but the main reason was politics/PR.
You need to remember what a dark time it was for the United States when Halsey first appeared in the headlines. From February to April 1942 he was hitting the Japanese, at a time when nothing was going well in the war. The country needed a hero, and a brash, aggressive admiral like William Halsey fit that role perfectly.
Nowadays we know that Halsey's early 1942 raids didn't accomplish much militarily, but at the time they were being hyped as revenge for Pearl Harbor. As important as Ingersoll's role was in the war, escorting convoys didn't have the same flashiness that launching an attack like the Doolittle Raid did.
The fact that Raymond Spruance didn't get a fifth star shows how subjective those promotions were. I confess to being a biased Spruance fanboy, but he was arguably the greatest sea going commander in Navy history. He was also a low-key leader though who didn't seek the limelight.