This visual execution shows how memory leaks happen in C++. First, memory is allocated using 'new', and a pointer stores its address. The program uses this memory. However, if the programmer forgets to call 'delete' on the pointer, the memory remains allocated even after the pointer is no longer used. This causes a memory leak because the program cannot reuse or free that memory. The pointer variable itself does not free memory automatically when it goes out of scope. To prevent leaks, every 'new' must be matched with a 'delete'.