Why do we need two cursors?

This happened to me earlier. Or yesterday. I forget.

I double-clicked a variable name in Visual Studio to select it, but instead it selected the line below. I pressed the ‘up’ key to move the cursor to the right place, then double-clicked again since Windows offers no other way to instantly select the word under the cursor.

Obviously it selected the word below again, because the mouse cursor hadn’t moved. The keyboard cursor had. My question is: why are there two cursors?

I can only focus on one point on the screen at the same time. I never do one thing with the mouse and another with the keyboard. When I’m using the keyboard, wouldn’t it make sense for the mouse cursor to vanish, and reappear wherever the keyboard cursor is when I touch the mouse again?

Grabbing the mouse is easy to handle. The converse situation I’m less sure about: automatically positioning the keyboard cursor wherever the mouse ends up seems like a bad plan to me. Maybe it’s because the current system is ingrained on my brain by now, but the toolbars at the top of text boxes would, I fear, become a nightmare. Instead, I would suggest that clicking on a text area sets the keyboard cursor and hides the mouse one, and simply typing while the mouse cursor is visible causes it to quickly move to the keyboard cursor and then vanish.

Selecting a block of text would have to leave the mouse cursor, in case you then want to drag the newly-selected text, or click “copy” or whatever. Again, typing would replace the selection and hide the mouse cursor as before.

I think I’d also like my mouse to have Wiimote-style tilt sensors in so I could pick it up and perform big gestures like “back” and “forward” but frankly I suspect that would be as annoying as voice control after as little as four minutes.