From the RSPB website...
Despite the fact that there are numerous flocks of birds, which are often seen while alive, people rarely see pavements littered with the bodies of dead birds. Most birds in the wild only live for a few years, and very few will die from 'natural' causes. They are very unlikely to survive to old age for example.
Small birds are a vital link in a food chain, eating insects, other invertebrates and small amphibians, and are in turn predated themselves by other birds and mammals. This is one reason why they have so many young: to compensate for predation, and why they are able to breed at such a young age - usually the year after they're born if they survive the winter.
Passerines in particular (which include most common garden birds) produce large numbers of offspring, the majority of which do not survive to adulthood. Many young and weak birds will probably subject to predation before dying of disease or old age.
Birds, like many other creatures, will seek secluded, out-of-the-way places when they're feeling sick - woodpeckers will climb into a hole in a tree, for example. Sick birds will go to ground and because they feel vulnerable they will hide away. Sometimes, rest and seclusion help them to recover, but if they die there, they sometimes won't be found in their hideouts.
Of course, in nature, things very often work in tandem. Scavengers and predators, such as rats, cats or foxes, can usually seek out these hideouts for prey. Often, these predators will eat the prey themselves or take them back to feed their young, which is why it's rare to find the remains of dead birds. Due to a bird's light body mass, those that aren't found by predators or scavengers will decompose rapidly. Insects will cover any dead body quickly and the bird would soon decay before it is found