Harnessing the power of master/slave clusters to operate data-driven businesses on MySQL

Users seeking high availability, DR and zero downtime maintenance operation for business-critical MySQL applications face confusing choices. Is multi-master or master/slave clustering better?  What about synchronous versus asynchronous replication? Using a plain vanilla, stock MySQL or a modified version of it? Which of these choices are right for data-driven businesses that depend on fast,