A breakpoint makes a program stop at a specific point so it can be debugged. Breakpoints are implemented by setting an "int 3" instruction at the target memory address using ptrace calls. When the instruction pointer hits this address, it triggers an interrupt that notifies the debugger. The debugger then reverts the "int 3" instruction, advances the instruction pointer, and allows the user to inspect the program state at the breakpoint.