By making sure that foo.h includes gromit.h and widget.h automatically, you save having to explain to all users of foo.h the need to include the other two files, and save having to remind them should they accidentally forget.

If at some future time, foo.h removed gromit.h and adds wallace.h, then all the users of foo.h don't have to go round changing many thousands of instances of including foo.h to fix the pre-requisite headers.