No, there's simple compare here :
1. Do Data Guard and Golden Gate offers same features ?
Data Guard will work and you don't need anything else. I cannot speak to Golden Gate.
2. Which products offers solutions to all my requirements or Do I need to use both ?
Again this document :
3. If Data Guard and Golden Gate are different from each other then What is the difference between them and what are the overlapping features among them ?
5. If RAC at site 1 goes down completely, then ONLY client apps should connect to Site2 database without human intervention.
ernie = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = primary.host)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = standby.host)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ernie) ) )