Do contracts have to implement the methods they inherit from interfaces, likewise, do they have to implement methods from abstract contracts?
Do they not, but they will not be deployable, because they themselves will be abstract. If not all methods are implemented solcjs for instance will generate an empty bytecode file and remix will not let you deploy the contract.
However, I believe, if compiler would be able to compile it partially, ignoring all unimplemented methods, you would be able to deploy the bytecode, but it would most probably produce runtime errors.