Because of its open nature, unusual sophistication, and cooperative spirit, lots of experimental development was done on Linux. New ideas, and twists on successful old ideas, were added by people who had interests in specific areas. Developers who wanted powerful home networks added networking code. Those with experience in memory management worked on virtual memory, code sharing, and so forth.
By tradition, Linus got the final say about what was "officially" part of the Linux kernel and what wasn't. It's been generally agreed that his guidance has been outstanding for sheperding the project. Somehow, from the work of thousands of developers spread all over the world, communicating almost entirely through the Internet, a remarkably cohesive and organized structure has emerged.