All three services process streams of data. Here’s my take on the major differences.
Data Pipeline can works on data already in the cloud or outside sources. Data Pipeline excels at scheduling and performing transforms on streams of data already in the cloud – ETL processing.
Both Kinesis services accept streams from outside the AWS cloud with the objective of moving the data into the AWS cloud.
Kinesis Firehose saves data directly to AWS Storage Services like S3.
Kinesis Streams allows processing of the data when it comes into the Cloud from outside sources.