Actually "cw" doesn't change the current word.. it changes where the cursor is to the end of the word. Something I tend to use a lot is: (| is the cursor)
ciw (Really change the current word. "Fo|o Bar" -> "| Bar"
ci" (Change in between ": "Test 12|34" -> "|"
da" (Delete in between " AND the "": a"Test 12|34"b -> ab
Also, plugins are extremely important. For instance, one of my favorite makes the "w" smarter for day to day programming word. (I mapped it to ,w) For example: "pac|kageManager" ci,w "|Manager"
"pac|kage_manager" ci,w "|_manager"