Good example of “how hard can it be?”
Ideally, of course, we could just physically model them, and then: wooden doors can be hacked away with an axe, a steel door could perhaps be forced using a crowbar but not if the frame is reinforced, etc. But, the modelling based on actual physical behavior is hard, both coding wise as well as computationally wise. So, we accept that we must do a simplified model and yet we must make it not too simple so that it still believably acts as a door in the virtual world.