I've noticed that a bunch of TI-Basic programs from TiCalc.org include xLib or Codex, and I want to know - is it good practice to use these to add functionality, or should programs try to do it without the libraries?
Generally speaking, I think it is better to not use the libraries. Their two main disadvantages are that they force somebody to include that program in order for your program to work, and they are not backwards-compatible with the older calculators (assembly programs must be compiled to work on the calculators).
I agree, but some things just aren't possible without using the libraries. You should try to do without, but if you can't, use a library by all means. And of course, once you're using a library, you should make the best possible use of it.
Besides xLIB and Codex, two other useful libraries are Celtic and Omnicalc. Celtic is designed for use with games, and you can do some pretty cool things with it. Omnicalc, on the other hand, is designed as a general application, with some TI-Basic extensions added in.