Null dereference occurs when a program attempts to access or modify data through a null pointer, leading to undefined behavior or program crashes. It is a common programming error that can be mitigated by implementing proper null checks and using programming languages or tools that provide null safety features.