Backspace doesn't erase anything. It merely repositions the output cursor to the previous place on the line.
The characters only seem to be erased if you then print something else. The new output will replace whatever was there before. But if you print fewer characters than you backspaced over, it will only overwrite as many characters as you print. So if you print
12345\b\b\b67
the visible result will be
12675
If you don't print anything after the backspaces nothing gets erased because you didn't overwrite them.
Backspace doesn't back up to a previous line; when the cursor is at the beginning of the line, it has no effect.
The above describes the behavior of typical video consoles and terminal emulators. The actual result of control characters depends on the device. For instance, hardcopy printers usually overlay the characters -- underlining is done by writing an underline, backspace, then the character that should be underlined; you can't erase on a hardcopy device.