I can't imagine trying to work with file systems without Path::Class. I often use the same scripts on both Windows and *nix machines, Path::Class keeps me from pulling (the rest of) my hair out. I find the documentation easy to understand, so it was quick for me to pick up and use with little trouble.
Path::Class has become one of the core tools that I use every day. I really don't do any filesystem stuff now without Path::Class. It simplifies code greatly. In my experience code written with path class is 50% smaller than code written without and, as we all know, less code = less bugs.
The API just makes sense, and the author is very receptive to contributions and discussion. Just the other day I worked with him (on github) to add the spew() method.
This is an excellent platform-independent layer over File::Spec.
One (minor) downside is that it doesn't seem to have a way to update objects. So instead one must do something like $path = $path->parent. (This is fine if you don't want side effects, but then why are you programing in Perl?)
Other minor annoyances: (1) a method to extract file extensions (2) untaining.
Path::Class is fastly becoming a core part of my toolkit, its much nicer then what I used to use (File::Spec::Functions) but yet inherits all the stability and cross-platform knowledge from File::Spec. Excellent module, highly recommened.
Paths naturally suit an object-oriented interface, and Path::Class gets that interface just right. All common path operations are supported, and having manipulated things to get the required path there are nifty methods for opening it (for reading or writing, throwing an error automatically) or for slurping it all in at once (with optional chomping).
It's so good that I've standardized on it for absolutely everything relating to paths.
Also, its author has been tremendously responsive in accepting patches and adding in new features when I've suggested ways of making the module even easier to use.
An excellent module that's much easier to use than File::Spec for manipulating paths. For example, you can do things like C<< $file->relative($src)->absolute($htdocs)->relative >> which aren't as trivial with other modules.
It's also well documented, and provides some extra handy methods such as recurse and mkpath.
This is a very cool module. File::Spec purports to provide filesystem-agnostic path/filename manipulations, but using it properly is hard, and the interface is just bad, filled with awkward, way too UNIX-y method names (catdir, catfile).
Path::Class hides the hard to use parts of File::Spec and provides a nice, simple, _clean_ interface on top of it.