.

.

Magento Code Pool

Magento has three code pools:
community
core
local
Core: It contains all Magento default modules
Community and local: We use these code pools for our custom module development.

app/code/core - Holds modules that are distributed with the base Magento and make up the core functionality.
app/code/community - Holds modules that are developed by third-parties
app/code/local - Holds custom modules you developed, including Mage code overrides.
Magento use two code pool for our customization
Magento actually uses three code pools. It will load local first, community second, and core third. It uses three for organization purposes and to help solve issues when two+ 3rd party extensions are trying to rewrite the same thing.
Magento don't use single code pool for customization.
It was done this was to try to have some code organization. Also, when you have 3rd party conflicts, the local is great to help solve those issues. The local is also great to have extensions that only that site will ever have.