When 2nd boot loads uboot it will read a 512byte-header which contains necessary boot information such as the uboot's size. This 512byte header is very important for correct booting.
When users do it via fastboot fastboot will create this header automatically with correct information.
If users want to use DD to do it they need to create this header by themselves which easily introduces unexpected mistakes and issues. Therefore we strongly suggest users do it via fastboot instead of DD