As a test, create a new user, login as that user - does the Dock behave properly (I suspect the answer is yes).
If that is the case, then maybe deleting the plist for the Dock can help.
This can be done by a few lines in Terminal.
You'd have to repopulate the Dock with the apps you want there, but that should not be too much trouble if it regains the functionality that you are missing.
You can set the plist aside, so in case the procedure does not fix things (which I expect it will), you can just put it back.
1) In Finder, press Command-Shift-G and paste
~/Library/Preferences/com.apple.dock.plist
2) Drag the file out of the folder and park it on the Desktop, for example. This way you can put the file back if this does not work
3) In Terminal, paste the following
killall Dock
4) The Dock should appear at the bottom of the main screen, with default apps
5) Test to see if the Dock now moves (I am confident that it will)
6) Populate the Dock with the apps you want and remove those you don't; adjust the settings the way you want in System Settings->Desktop & Dock