My understanding of the advantage is that in the case of vkCmdUpdateBuffer, the data is copied into the command buffer at the moment the command is called. It requires only one barrier to wait until the data reaches the actual buffer.
When using staging buffers the data might be written into the staging buffer directly but there is still an additional barrier required to wait for the host writes until the data can be copied to the internal memory.