In Microsoft Deployment Toolkit (MDT) you can sometimes experience something called Dirty environment which basically means that something is wrong. This is either because of an unexpected error during your task sequence, most likely a forced reboot which MDT is not prepared for, or there are leftovers from a previous task sequence.
One can of course go through the logs for the machine being deployed, but sometimes it is better to sit in front of the screen of the machine being deployed and see what happens. Personally, I had IE11 as an application being deployed as well as some prerequisites packages which worked well, but caused trouble later on. I noticed that the application step had been running for quite some time and sure enough, when I got to the screen, Dirty environment found. Once I sat down and watched the task sequence I noticed that after IE11 was installed nothing happened, but a few applications later, something caused Windows to reboot. This was not expected by MDT which caused the Dirty environment error. For me, a simple solution was to edit the IE11 application and check the little box to reboot after install. Once that was done, the error disappeared. MDT rebooted after IE11 which in turn configured installed updates (IE11 prerequisites packages) and then simply continued installing the rest of my applications.
As for leftovers, do check out this script by Johan Arwidmark called Final Configuration, it really rocks. You can view his blog post on Deployment Research.