Or is it a way to take the full power of Perl off the hands of inexperienced coders, using XSLT as a way to limit what they can do?

That's one way of putting it. This website started in 1995 originally, with a mixture of pregenerated pages from an Access database and pages that were kept up to date manually.

The 1998 incarnation used Perl and MySQL, but did not have seperation of layout and content. Which meant, that as changes in layout were needed, I was needed to make changes to the underlying Perl code.

The 2002 incarnation used the old database (which also generated XML) and XML::LibXSLT.

The 2004 incarnation uses XML::LibXSLT and MySQL for everything. Now I don't have to worry about layout anymore. And the client can change layout whenever and however they feel like. Even for the CMS!

I'm happy. The client is happy.

I'm not saying it is the end to all means. But it was the right solution in this case. The other day they even added an RSS feed without me having to do anything!