What do we Gain by Packing Various Components into SoC
Is this done only to decrease the area footprint of the device? 


That can be one reason, and it's especially important to highly integrated devices. Think smartphones. No way they could be this small if all the functionality was spread out across multiple packages.

Also, less different things to solder onto a board means less sources of error, once you've gotten your high-pad-count process to work reliably.

Also, less assembly steps typically means "cheaper" in the end product, and that's an important factor basically anywhere.

Also, if everything that's complicated to talk to, layout high-speed traces for, design power architecture for etc is in one chip, you're offloading the design effort from the device manufacturers to the SoC designers, which typically means that the people designing the devices can work with less skills, and/or lower design and testing effort. Another big plus! Many things simply couldn't be built, otherwise, since there's simply not enough skilled engineers in this world.


  
  Is there  an added benefit in terms of latency?
  Is cpu more optimized to talk to components within the SoC? 
  If cpu is optimized what kind of optimization is used?
  


There might be, but this really depends on what you're looking at, and no sensible general answer can be given. The only thing that's relatively general is that the shorter the connections, the easier it is to make them work for high frequency (but that comes at high costs – doing stuff on silicon isn't cheap or easy, and achieving RF isolation within a chip is harder than spread out).