System and User Mode in Sales force
System mode -
Its running apex code by ignoring user's permissions. So if logged in user does not have create permission but they will able to create a record.
Apex code has access to all objects and fields, sharing rules aren't applied for the current user.
All apex code run in system mode. It ignores user's permissions. Only exception is anonymous blocks like developer console and standard controllers.
User mode -
Its running apex code by respecting user's permissions and sharing of records. So, logged in user does not have create permission they are not able to create a record.
Only standard controllers and anonymous blocks like developer console run in user mode.
Special Note:
Please Visit the below Links.
http://www.tgerm.com/2011/03/trigger-insufficient-access-cross.html