Представим, что у тебя имеется две кнопки, которые должны вызывать одну и ту же функцию, при чем если одну кнопку нажали, то обе кнопки должны блокироваться, и становится снова доступными только тогда, когда действие завершиться.
1) Если это делать с помощью click, то тебе самому необходимо прописывать блокировку кнопок после нажатия на одной из них, а в конце действия самому разблокировать их.
2) Если же это делать с помощью command, то кнопки буду автоматически блокироваться и разблокировываться в зависимости от того, выполняется ли эта команда в текущий момент времени(с помощью события команды CanExecute)