1/ Thanks.
2/a/ Because it can. With "mkfs" you cannot use the filesystem until the mkfs has finished. With md/raid you can start using the array immediately. The initial sync continues in the background.
2/b/ The command "mdadm --wait /dev/mdXX" will wait for mdXX to finish any resync. Or just look at "cat /proc/mdstat".
2/c/ I don't really understand the question about "paritions".
A device that /dev/sda has partitions like /dev/sda1 or /dev/sda2. An md array can be created over whole devices (/dev/sda and /dev/sdb) or ove parititions (/dev/sda1 and /dev/sdb1). Does that help?