Build means compile and link only the source files that have changed since the last build, while Rebuild means compile and link all source files regardless of whether they changed or not. Build is the normal thing to do and is faster. Sometimes the versions of project target components can get out of sync and rebuild is necessary to make the build successful. In practice, you never need to Clean.
A build compiles only the files and projects that have changed. This is generally pretty fast. A rebuild rebuilds all projects and files in the solution irrelevant of whether they have changed or not. You normally do a rebuild when many files have changed (especially outside the IDE) and you want to ensure that all the changes are rebuilt. A rebuild can take a while for large projects so normally is only used periodically in the IDE. However for automated builds a rebuild is normally the only type of build done since you always want all the source rebuilt.