Same here, very rarely use route-filters.
Only difference that I've seen is you can't specify a range using a prefix-list. Your choices are exact, longer, orlonger. Of course, you can create the same sort of behavior using a prefix-list, it just requires listing additional prefixes in the list. Or using a couple of prefix-lists, one shorter and one longer, setting one to accept and the other to reject.
In a lot of cases, the prefix(es) will be used in several different locations. For instance, BGP import and/or export policy, RPF policy, firewall filters, loopback filters, multicast scope, etc. Rather than trying to remember the many different locations a prefix may live, it goes in a prefix-list. Change the prefix one time, far fewer chances of mistyping the address in a location or forgetting one or more spots.
It also helps when managing a large number of devices. You can write the various filters and policies as generically as possible, referencing prefix-lists instead of specific IPs / prefixes. The more complex logic in the filters and policies only has to be written once, with minimal per device / per site customizations needed. The bulk of the customization for the site / device is handled by putting the various IPs / prefixes into the correct prefix-lists. One spot to update, and you're having to effectively recreate all of the policies from scratch for every device deployment. Name your prefix-lists something that makes sense and the configuration becomes easier to understand and maintain as well.
-Chad