Old but remains worthwhile: http://www.useit.com/alertbox/20030224.html
The single most important thing Nielsen says is, "What matters, though, is not the implementation, but the user experience."
Regarding your observation about different datasources, if that is the case, it would be relatively easy to combine a single search box with a datasource selector (e.g., one search box but a selector with options like []Search Users []Search documents []Search Projects).