Hello Hemant
The next-hop-self feature causes a BGP router to advertise itself as the next hop for routes advertised to a particular neighbor. This causes the BGP table of the neighboring router to use the IP of the advertising router (and not that of the originating router) as the next hop IP. Keep in mind, as stated in the lesson, this is commonly used by iBGP routers when advertising a route they learned from an eBGP neighbor.
The update source feature is used to specify which IP address/interface will be used for the establishment and subsequent communication between BGP peers. This is particularly useful when configuring a loopback address as the source for the exchange of BGP messages with its peers, as shown in the second topology described in the eBGP multihop topology in the following lesson:
I hope this has been helpful!
Laz