nobody is expecting that device trees will eliminate the need for you to compile your own kernel for a production system.
it's also not that you will take a kernel compiled for one device and change the devicetree file and load it on another device.
what they will do is make it so that there aren't 70 different subarchitectures in ARM that all have to be tested individually and replace it with a much smaller number with devicetrees identifying the minor details like where a particular piece of hardware is addressed. As such it will make it easier for people to maintain the kernel and make sure that it will work.