What is codePool

codePool is a tag which you have to specify when registering new module in app/etc/modules/Namespace_Modulename.xml

<codePool>local or community</codePool>

There are 3 codePool in the magento.
(i) core (ii) community (iii) local

both 3 codePool in the app/code folder.
(i) core:- this is used by magento core team.

(ii) community:- this is used by third party development.

(ii) local:- this is used by own module development and overriding of core and community modules according to client requirements.