Position Independent Code is for making dynamically loadable libraries. PIC contains and extra level of indirection to allow the correct methods to be found dynamically at runtime.