When using aRts, you have a number of different APIs to choose from. The decision of which to use depends on a number of factors, including what type of streaming media is used (sound, MIDI, CD audio, etc.), the API features required, and whether it is written in C++. In most cases the choice should be relatively obvious based on the required features.
For cross-platform portability, applications that need to run on environments other than KDE cannot rely on aRts being present. Using the plug-ins paradigm is a good way to support different multimedia environments. Making the plug-in API open and documented (especially for closed source applications) also has the advantage of allowing someone other than the application developer to implement an aRts plug-in.