lib.defs is the OpenAccess standard way of describing where libraries are. It is based on the syntax of cds.lib, but only a subset of cds.lib syntax is supported. Cadence tried for some time to keep the two in sync, but nowadays we only read the cds.lib (via a special OA plugin that can also be used in other applications; this is covered in the documentation). It's possible to generate a lib.defs from cds.lib using the library path editor (both graphically and from the command line - see "cdsLibEditor -help") if you want to use an OA executable without using the cds.lib plugin.
Regards,
Andrew.