Underscore.js is a utility library that provides support for functional programming and offers over 70 functions for working with arrays, objects, functions and more. It is commonly used for tasks like mapping, reducing, filtering collections as well as composing functions together through chaining and higher-order functions. While not focused on DOM manipulation like jQuery, Underscore is useful for both client-side and server-side JavaScript applications.