A dangling pointer points to memory that's been freed. The pointer still holds the old address, but that memory might now hold different data or belong to another allocation. Using a dangling pointer causes undefined behavior.
Reads return garbage. Writes corrupt other data. The program might crash immediately or much later with mysterious bugs. Prevent dangling pointers by setting them to nullptr after delete.
Then dereferencing crashes immediately with a clear error instead of silently corrupting memory.