The reasons for the development of feudalism vary between nations that employed the system, most notably, the Roman and Germanic cultures. Feudalism developed with the Romans as a method of land tenure. In this practice, a land grant was given by the land-holder to an individual in exchange for services rendered. Often, these contracts were for life.
Feudalism spread through Europe during the ninth century and lasted for several centuries in some nations. In France, feudalism began as wealthy landowners built castles for protection. As kings weren't powerful enough to reclaim their land, nobles began to claim authority over land in their jurisdiction.
In England, feudalism wasn't part of Anglo-Saxon society. However, large landowners had extensive powers in terms of managing their land. When William the Conqueror introduced feudalism in the 11th century, he maintained authority over all landowners.
In Germany, feudalism lasted for many centuries. This was due to the weakening of royal power due to issues like the German throne being a position for which rulers had to be elected. Issues such as this kept the nobles powerful, despite the attempts of some rulers to limit them.