So the first picture is right after I selected where I will cut, and the second picture is after pressing Enter/Space Bar which should apply my previous result to the world. But it is not what I asked blender for, and it tries to snap at vertices. In the tutorial video, it seems that I can cut edges without already existing vertices but it is not the case for me. How do I change this?
Congrats. You've encountered a weird limitation of the Knife Tool.
It acts up with too large near/far clipping range.
Adjust your clipping range
Lower the highest values, until the knife tool starts working correctly.
Use flat orthographic view.
Knife tool works fine even with extreme clipping values, when using front/top/side orthographic view.
This is actually caused by 3D View limitations that all OpenGL/DirectX graphics applications have. It's not just a Blender thing.
You can read more about it in the Blender Troubleshooting Manual.