Approximately 250 million years ago, conditions were just right for calcite nodules to form IN the mud and silt at the bottom of a shallow sea. Keokuk geodes have a round shape because of a mineral (calcite) coming together to a nucleus, (usually a horn coral or similar dense sea shell) from all directions. They do not get their round shape by rolling around on the ocean floor.
The longer conditions were right for the calcite to come together, the larger the nodules became. The largest Keokuk geodes are in the lowest Warsaw formation strata and are the best formed. The calcite became more concentrated in the center, forcing out the impurities, including quartz which worked its way out to the extremities of the nodule where it crystallized, in the more porous calcite, to form the enduring shell.
After a deep burying time span where the mud surrounding the calcite nodules turned to shale by the pressure and heat, the calcite nodules with the quartz saturated shells were lifted or eroded to the near surface where acid rain "melted" away the calcite cores, leaving a cavity. So acid is the big reason for the formation of the Keokuks... in the dissolving of the sea shells to calcite that formed the nodules... and the dissolving of the calcite nodule cores to form the cavity.
Almost all Keokuk geodes had a cavity at one time. Quartz got a little rambunctious in about seventy percent of the geodes and filled up the entire cavity to form the hated "solids". In some exposures there was no quartz to fill the cavity, so the calcite that remained from the near surface "melt" that formed the cavity, crystallized and created the brown calcite type geodes. In these exposures, almost all geodes are hollow as there was no quartz and not enough calcite to fill up the cavity.
Through time, nineteen minerals and compounds made their way to the cavities of the remaining hollow geodes and put on their display.
* This explanation is based on the concepts outlined in the Keokuk bible. Thank you Steven... I hope I got it right.