What difference does the clock make in synchronous vs asynchronous communication?
With asynchronous data transmission, when there is no payload data to be sent, the data line becomes idle and therefore the receiver waits for a transition that marks the beginning of new incoming data. In this respect there is no definite phase relationship between data previously received and the new data arriving.

This is why it is called "asynchronous"



With synchronous data, either a clock is permanently present as a seperate signal or, the clock is embedded into the data (as per Manchester encoding or scrambling) so that the receiver is always aware when real payload data could be present. When no payload data is present the clock is still present. Manchester encoded data: -




  how the clock plays role in synchronous communication?


Whether you extract the clock from the data (or have a dedicated clock line) you need a clock; that is fundamental to any data transmission. Asynchronous transmission re-creates a clock internally based on the agreed baud rate and the first transition of data following an idle period. From this point on until the end of the data block it generates a clock internally for the whole transmission.

So the clock plays a vital role in both asynchronous and synchronous data communications.


  with baud-rate I think we have all the information of the
  communication channel


Not quite - knowing baud rate at both ends is useful but it doesn't tell you when bits actually change state in the data - this "synchronization" to the data is performed by the idle-to-start bit transmission in asynchronous data and is everpresent in synchronous data communication.