1) Spark can consume messages in Kafka. So basicaly, why adding an extra layer between them ?
2) Same question
3) Kafka can be "inside your Entreprise Data Hub" and still on dedicated nodes :) but I guess it's just a matter of what you consider your "Entreprise data hub". As for the other part : why dedicated nodes ? performance.
Kafka (and its zk cluster) are I/O heavy and can be slowed down if others services use the disks.