Defragging despite some people's reservations can help out, but how much depends on exactly what is fragmented within your system.
In my experience, one of the biggest slow downs on an XP system is the Windows Registry. If you think about it, it's just a massive database which the system will attempt to load up, scroll through, page bits and bobs of etc etc. As well as the system registry, each user account has it's own section which over time can become bloated and full of outdated references.
Quite often, some 'experts' will just say perform a clean install and your system will once again fly. Now that is true, but it's a pain having to re-install various apps which is the main reason why people don't do it more often.
Here's a quick fix I used to do on old machines where I couldn't be bothered to re-install and it creates the single biggest speed improvement over any other hint (other than the clean install).
Create a new user account !
Job done...
More often or not when applications were installed they were installed for 'all users' but there will be exceptions whereby you might need to re-install or re-configure an existing application.
You might also have to move over any mail accounts if you've relied upon POP'ing mail.
But if you want a quick fix speed improvement, don't want to re-install the whole OS and need access to something in the old profile, just create a new profile. The new account won't have the same registry bloat, if your disk space is sufficient, the newly created registry hive will be contiguous (hopefully, if space permits).
Someone has already mentioned CCleaner and that's great for cleaning up your system, they also provide a great Defrag tool. If you registry is bloated, that too can become fragmented and there are tools available to clean the registry out which work better than a Defrag/CCleaner pass on it's own.
Of course, the number of configurations and states of PC's is infinite so as always,
YMMV
Chris