If I understand correctly, runtime.lib is Shiru's modified version of nes.lib (included with CC65). I'm not exactly sure what he's done with it, but in my own adventures with C, what I've done is to remove any object files I don't need from nes.lib but I still compile against it for any standard C stuff I might use, such as string routines for example. My understanding is that it has a partial implementation of the standard C library and some default code for interacting with the ppu. I don't think they have printf implemented, but you can use putchar and write your own string printing routine without adding any custom code. They have a buffered ppu system set up (by default in nes.lib) for just writing tiles to the screen. It's not very useful for game programming so what I did was to remove crt0.o from nes.lib, scarf crt0.s from cc65's source code and modify it with my own startup code and my own approach to nmi handlers. Breaks some of the C implementation, but you should still be able to use the rest of it. Basically I think it is harmless to keep compiling against it because, if I understand compilation correctly, if you don't link to a function it won't get built into your rom. So I just leave it there.
*edit* I'm pretty sure there's other stuff in there that's required for basic operations the compiler relies on for temporary register manipulation, too. I'm unable to compile without it, probably because I'm using crt0.s. I'd be wary of not including it all if you're coding in C. *edit* sure enough, just one simple C routine I wrote, which doesn't even use any C library stuff, won't compile without nes.lib. So, I anticipate if you write much C at all in your program, you'll run into issues pretty quickly without the runtime. *edit* note this is all assuming runtime.lib was indeed from shiru's C examples, and assuming that it is indeed a modified version of nes.lib. I'm pretty sure it is because, it seemed natural also for me to remove crt0.o from nes.lib and customize it, but leave the runtime in place. He just renamed it to runtime.lib. *edit* probably because the library he has provided is itself called neslib, haha! It all makes sense now
Not sure if that helps or has just increased the confusion!