Oracle Dataguard :
1. Primary Database and Standby Database Should be same. (But 11g Onwards it supports Heteregenous Data Guard Configurations. Example : We can imeplement Oracle Data Guard between Oracle Linux server 6.2 (x86_64) and Microsoft Windows 2008 Server R2 (x64)
2. Oracle Database version should be same in source and target
3. No additional license required for Oracle Data Guard to install.
Oracle GoldenGate :
1. Operating System in Primary Database and Standby Database need not be same.
2. Primary Database and Standby Database need not be same. (Including Database Software).
3. Oracle GoldenGate Software Licence required in Source and Target Databases.
Hope it will helps....
Goldengate can replicate bi-directional (like RAC instance with different storage) and database independent.
bi-directional is cool but can consume a lot of resources.
Active Data Guard and Golden Gate require additional licenses and add more functions depending on your needs.
Dataguard is for DR purpopse. 11g has active data guard you can query but bi-directional replication is not possible.
Data Guard comes with Enterprise Edtion .
More info here.