BGP - next-hop-self vs update source
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 that 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
Both of these features will affect which address is used as the next hop for a particular route learned via BGP.