With locate you can quickly find all files containing a given string. For example, "locate project" lists all files whose name includes "project". However, before you can use locate you have to build the index used by this command. For more information, see here.
With the find and locate commands you can search for files only by their names. If you want to search files by their content you need a desktop search engine such as Beagle or Recoll.
Such search tools enable you to easily find documents, emails, instant messenger conversations, notes, source code, images, etc. Besides the source code, binary installation packages of Beagle are available for most major Linux distros and can be downloaded here. Recoll downloads are available here.
