To be fair to Johnston he wanted Beauregard in command at Fort Donelson but Beauregard said he was too ill. Johnston's next choice was the capable Alexander P. Stewart but Jefferson Davis rejected the application. Johnston was forced to rely on politicians and amateurs.
Johnston said "I determined to fight for Nashville at Donelson, and gave the best part of my army to do it, retaining only 14,000 men to cover my front, and giving 16,000 to defend Donelson... Had I wholly uncovered my front to defend Donelson, Buell would have known it and marched directly on Nashville... I had made every disposition for the defense of the fort my means allowed; and the troops were among the best of my forces, and the generals, Floyd, Pillow, and Buckner, were high in the opinion of officers and men for skill and courage, and among the best officers of my command; they were popular with the volunteers, and all had seen much service. No reinforcements were asked."
Johnston had sent enough men to Fort Donelson to defeat Grant - the numbers of the Union forces and Confederate forces were roughly even at first. The Confederates should have struck Grant's forces while they were toiling on the muddy, narrow road between Henry and Donelson. This country was well suited for an ambush, because it was dotted with flooded creeks, ravines, and underbrush. Unfortunately Buckner was in command at this time because Pillow was away from the Fort trying to find Floyd. Buckner had no interest in starting a fight at Fort Donelson as he only wished to put his and Floyd's troops onto the first available steamboat and transfer them to Cumberland City. Thus Buckner allowed Grant to invest the Fort unmolested and any chance of a Confederate ambush evaporated. This crucial error belongs to Buckner alone, and he was supposedly the most proficient of the three generals.