#include
is meant for system headers, while #include "something.h"
is for headers of your own program. System headers are searched for in usual system directories (and those included with -I
argument), which your headers are searched for in current directory and then the same locations as system headers.
see http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC6