Child objects aren't moving with parent
If you link in an object from an external file you can't move it by default, even if you parent it to a local object. In this case the selected object should be highlighted in blue unless you alter the theme colours. You can make a proxy or make a local copy to move it, or move it in the original file.

A linked object will have a small file icon next to it in the outliner. This icon will also be seen in a few other places like the object properties. All values will also be greyed out.



The only other thing that should prevent a child moving with it's parent is a constraint.



Similar constraints are available for rotation and scale. Clicking the X in the corner will delete them or you can turn off the limit that is bothering you. 

Something that can stop an object being moved by itself (but should still move with a parent) is locking the transform channels. Available in both the object properties and the properties sidebar, clicking these "padlocks" will prevent the related transform channel from being altered in the 3DView. You can actually alter the values displayed to move objects while they are locked, just not with g,s,r in the viewport.



Simply click the locks to unlock them.

The values may also have drivers attached to them. When a value is being driven it is highlighted in purple.



Right click on the value and select Delete Drivers.