These are big subjects, and some great answers were put forward. I'm not sure how DSP got into the mix, but the other two often us them as components for analog signal processing (A/D and D/A respective I/O points) and hi end math functions in control loop boards, as examples.
Also DCS's ( Distributive Control System ) are more often compared to SCADA ( Supervisory Control And Data Acquisition ) than the other two. PLC'c are often elements of both these. In some cases they can be one in the same, depending on who is talking, or a DCS's is used to do SCADA. A very big can of worms to open up. A simple SCADA system my be one or more PC's w/ SCADA SW talking to each other and controlling one or more PLC's, other devices / instrumentation, in a sense this is a DCS too.
A SCADA system without DCS could be a PC + SCADA SW / program with dumb I/O boards to the real world inputs and outputs. On the other hand all DCS's do SCADA, but use multiple processors. So if you use PC+SW+smart I/O boards or preprocessing instruments it could be called a DCS.
It might be better to provide your specific application needs as to get specific recommendations, opinions and options from this and other newsgroups.
This is my simplified opinion and there will be others.