David's Dilemma is a simple yet
difficult trick established by David Thomas. It is essentially a two
ball Shower performed with one hand throwing a third ball vertically to make
space for the Shower catches. While the pattern itself is fundamentally
basic, the timing and relative heights of the throws make David's Dilemma a
challenge to juggle.
To learn David's Dilemma, start with one ball in each hand. Make a high throw from your dominant hand toward your other hand while simultaneously making a much lower vertical throw with your non-dominant hand. If timed correctly, the vertical ball should land in your non-dominant hand slightly ahead of your high throw. Make a second vertical throw from your non-dominant hand and catch that first ball. Then, quickly make a horizontal pass with that ball to your dominant hand, and then catch the vertical ball.
Practice this extensively, paying close attention to the timing and heights of your throws. Once you are comfortable with this step, it is time to add in the third ball. Start with two balls in your dominant hand and one ball in your non-dominant. Make the same simultaneous high/vertical throws as in the first step, and then follow it up with a second pair once the first high throw approaches your non-dominant hand. After catching that high throw, make a horizontal pass to your dominant hand and then catch all the balls.
And that's all there is to David's Dilemma. In order to run the full pattern, just keep throwing high/low pairs along with horizontal passes. The timing will likely feel weird at first, but eventually you will get used to it.