SPM is good too, but you need to have Matlab (not free).
http://www.fil.ion.ucl.ac.uk/spm/
More recently, ANTsR is available, a package that works in R. It's more difficult to set up if you are a beginner but does the work.
http://stnava.github.io/ANTsR/
These are all good for fMRI, while DTI needs specialized procedures/software, you cannot just correct for motion without rotating the orientation gradients. In that case I recommend ExploreDTI, does an excellent job, and is based on Matlab.
It is much better to use prospective motion correction. A variety of techniques have been developed. No post-acquisition, retrospective motion correction technique can correct for within-volume head motion. See Schulz J et al Neuroimage 2014, and for a current review, see Godenschweger F et al, Phys Med Biol. 2016. Recent results for dMRI (don't call it DTI!), fMRI and ultra-high resolution neuroanatomical imaging have been spectacular.
Agree, DTI is an outdated term. I use DWI usually but most people don't understand it. And, unfortunately, books often familiarize students with DTI. Not to mention that very good software has DTI in their name (ExploreDTI, DTIstudio, DTI-tk).
For resting state fMRI images, I will strongly recommend DPABI (http://rfmri.org/dpabi), the latest available DPARSFA version, and can do a good job for micro-head motion detecting/removing and artificial repair.
Thank you very much for all your answers. I was trying to perform motion correction in a simple dynamic VFA. I will try to test one by one all your suggestions.
For T1w and dMRI data, I would suggest the latest version of eddy in FSL 5.0.9. If you have blipped dMRI data, then take the output of eddy and process it through topup.