The difference between them blurs depending on your setup and requirement. The short answer is:
- RAC is a high-availability solution. If a node fails your system can keep running with no noticeable effect on the application layer (insert numerous caveats.
). It is a normal part of administration to take nodes offline with no detrimental affect on the configuration. In addition to its high-availability use, it may also be considered a performance feature as it allows clusters of smaller servers to form a very large database server at a fraction of the cost of one massive server (caveats againt).
- Data Guard (Standby Database) is a disaster recovery solution. Although you can perform a graceful switchover for administration purposes, it is by no means considered a "normal" task. For the most part, people have a standby database for a proper disaster situation, like a whole RAC goes down.