Because C is available on every platform you might wish to target, which is not true of any other language.
Want to be on Linux? *BSD? Windows? OSX? C is there for you.
Want to run on Wii, PS3, XBox 360, Nintendo DS, DSi, 3DS, PSP or PSVita? C works on all of them, and is the native language of the API on most.
Want to be on iOS, Android or Blackberry? C works fine on all of them.
No other language lets you hit all of those platforms without major hassle. Even C++ is more trouble than C, partly because of implementation differences and partly because in some cases (ie: iOS, where the native language is ObjectiveC) you're working with the fact that the native language of the platform API is one of C's superset descendants.
Our game engine runs on most of the platforms above, with more than 95% of the code being common. The iOS port took almost no time at all, because pure C builds just fine in ObjC. If you want to see Stockholm Syndrome in action, read the forums where people were building C++ projects as ObjC++ on iOS, or (if you have access) trying to get STL working usefully on Nintendo DS. Both can (and have) been done, but the effort expended in the process was instructive.
C also has another advantage; while it lacks some "modern" conveniences (ie: stuff that has been available in LISP since ancient times), that lack makes it easy to do some things that are difficult in most higher level languages. Sometimes you really do need to do low-level memory management, for example, and while garbage collection is an excellent thing to have, not every language that provides it lets you carve off a contiguous chunk of memory and manage it directly.
C also understands binary data natively, which can be a serious advantage in some situations. The perl-esque pack() and unpack() disaster many languages seem to rely on for accessing binary data are awful compared to read(file, &record, sizeof(record));.
None of this is to say that C is some sort of ultimate ideal language. When I'm going to do heavy string processing, or have to deal with yaml or xml or a spreadsheet full of data I'll usually reach for Ruby. I love using lisp and variants when I can. I'm really liking the direction Go is headed in, and I'm somewhat hopeful it can finally be the descendant of C that we should have had 20 years ago.
C also has weaknesses you need to compensate for if you're going to use it cross-platform, chiefly related to data type sizes and alignment.
But C is available everywhere, and it does the job. That really isn't true of any other language currently.