Oracle RAC (Real Application Clusters) is two or more instances running on two or more servers connecting to the...
same database. The idea is to utilize the additional resources of multiple machines to satisfy higher load demands as well as provide a higher level of availability since connections can be directed to any available instance. From a high level infrastructure-wise, RAC uses cluster software (Oracle's or another parties' such as Sun), shared disk storage, an interconnect between servers and specific configuration parameters.
Data Guard is the configuration of at least one standby database associated with a production or primary database. There are logical and physical standby databases. Physical standbys are physical copies of the primary database and are updated via a recovery operation. Logical standbys are logical copies of your primary datbase and may vary greatly in physical design. They are updated through SQL statements.
Data Guard is primarily a backup solution in the event of failure at the primary database. A Data Guard database may also be "RAC'd."
The terms 'node' and 'instance' are often used interchangeably. An instance in a RAC environment is pretty much the same instance as you know it from a non-RAC environment. When I say node, I am referring to the server that the instance is housed on.
I hope this helps.