A day trader needs to know the prices of the stocks, futures, or currencies that s/he wants to trade. In the case of stocks and futures, those prices come from the exchange where they are traded. Forex is a little different as there is no central exchange.
Because exchanges don't generally want to be concerning themselves with supplying data to millions of individuals, they usually make their price feed available to an aggregation company. These companies then sell those price feeds on to individuals and corporations.
Prices can vary greatly for data feeds, with the exchange setting the base price.
Some data feeds are free, but the prices these feeds supply are delayed. Such feeds are only useful to occasional investors, and are worthless to day traders.
The vast majority of day traders will chart prices in some kind of charting software. Many charting vendors also supply data feeds.
Charting packages all tend to offer the same basic technical analysis indicators. Advanced packages often include a complete programming language for creating more indicators, or testing different trading strategies.
Once a trader has their data and can see and analyze it on a chart, they will at some point want to place a trade. To do so, they need to use some kind of trade execution software.
Most brokers will provide proprietary software linked directly to their in house systems, but many third party applications exist. The advantage of third party programs is that they allow the trader to trade through different brokers whilst retaining the same interface. They may also offer a number of advanced features such as automatic trade execution.