This flag is like /showIncludes, but it only includes user headers and omits system headers (similar to MD and MMD). The motivation is that projects that already track system includes though other means can use this flag to get consistent behavior on Windows and non-Windows, and it saves tools that output /showIncludes output (e.g. ninja) some work.
implementation-wise, this makes HeaderIncludesCallback honor the existing IncludeSystemHeaders bit, and changes the three clients of HeaderIncludesCallback (/showIncludes, -H, CC_PRINT_HEADERS=1) to pass -sys-header-deps to set that bit -- except for /showIncludes:user, which doesn't pass it.