First, take a look at the other answers we've got about why balls
bounce. Especially look at 'Why do Basketballs Bounce?' under Pushing
And Pulling: Forces, Bouncing.
Then, think about it this way. When the ball is falling, it has a
certain amount of energy. When it hits the ground on something soft,
like carpet, some of that energy is absorbed by the ground. This is
because the ground is springy, so it actually squishes a bit when the
ball hits it. Or if the carpet is really shaggy, some of the energy
goes to making the little bits of yarn move. Since some of the ball's
energy went into the carpet, the ball doesn't have as much energy
afterwards, and it can't bounce as high.
But if you bounce it on something solid, like a hardwood floor, the
floor doesn't really have any give to it, so it doesn't absorb very
much of the energy. This means that the ball will have more energy
after it bounces and can bounce higher.
Hope this explanation helps!
(republished on 07/11/06)