It might be worth your time and effort to read the following fairly comprehensive article about MIDI messages.
Overview of MIDI Messages
The use of these message has developed over time. In general, the function of Program Changes has been largely pushed into the background by Keyswitches (On/Off control tied to one of the MIDI note values) and Continuous Controllers commonly abbreviated as CC's, (each controller can be programmed to send a value from 0 to 127 to affect the virtual instrument in a fine-tuned way).
But all are just different types of MIDI messages that can still be used. These message are sent by whatever software platform you are using, in your case Finale. The user must program the platform to send these messages, and each platform has it's own unique way of handling this. I myself don't use Finale.
So for you Finale would be programmed to send the right message, and VSL is just the receiver of that message. VSL would then "interpret" the message and respond with the desired switch (an articulation) or control (say, vibrato).
The Vienna Instruments player was created at a time when Program Changes were still in general use, but even then they were being supplanted by Keyswitches and CC's. But Vienna Instruments had to support them because a lot of people were still using them.
Even now there are some people who still find them useful. But there is one big problem: Key virtual linstrument and platform companies have moved from an older protocol, VST2, to a new one, VST3, and the newer has dropped all support for Program Changes.
Again, I strongly suggest you take some time to investigate and come to some understanding of MIDI protocols and how they work. Using virtual instruments requires this understanding in order to make significant progress.