It's not always fault of mysql administrator. There are cases where big load of data is in one table. Through insert optimalization MySQL construct single insert with many rows to insert, that is called packet. It looks like this:
insert into table values( 1,2,3 )(4,5,6)... etc.
When packet get's too big (there's a lot of data in the end of insert) it may exceed max_packet_size variable.
Another case are low timeouts to database with poor database optimalization (no indexes etc)