How to add detail to a mesh without subdividing all of it
I recommend to have separate mesh objects. My rule: "What is separated object in reality should be separated object in 3D too", because it simplifies many things: modeling, texture mapping, material setup, animation, etc.