Exploring all its ramifications, we give an overview of the simple yet fundamental bouncing ball problem, which consists of a ball bouncing vertically on a sinusoidally vibrating table under the action of gravity. The dynamics is modeled on the basis of a discrete map of difference equations, which numerically solved fully reveals a rich variety of nonlinear behaviors, encompassing irregular nonperiodic orbits, subharmonic and chaotic motions, chattering mechanisms, and also unbounded nonperiodic orbits. For periodic motions, the corresponding conditions for stability and bifurcation are determined from analytical considerations of a reduced map. Through numerical examples, it is shown that a slight change in the initial conditions makes the ball motion switch from periodic to chaotic orbits bounded by a velocity strip v=+/-Gamma(1-epsilon) , where Gamma is the nondimensionalized shaking acceleration and epsilon the coefficient of restitution which quantifies the amount of energy lost in the ball-table collision.