There are several for Chicago. For ones that developers tell the CTA about, they list them
on their website here.
On the PC I just use the CTA's own tracker website.
On my phone, which is Android, I've used the CTA's website, which is optimized for mobile and actually works pretty well for the basics, and have also used "
Chicago Transit Tracker" which was the first good Android app for bus tracking.
Currently I use
TreKing, which uses the CTA's data to provide real-time tracking of CTA buses and CTA trains and scheduled Metra (commuter rail) and Pace (suburban bus system) timetables (Metra and Pace don't have real-time tracking data, at least not publicly available).
It really does make a difference. Since this has been available, I've been much more likely to take the bus than I used to be. Previously I would just get a taxi rather than wait an unknown amount of time for a bus. Now I know if there's one coming in 4-5 minutes I'll wait. And if I'm not too busy, I'll sometimes wait even longer rather than spring for a taxi, confident I won't be there for 45 minutes late at night.
Chicago does sometimes have "ghost buses" that aren't transmitting their location and show up unannounced, but that doesn't happen too frequently. I can tell a lot of people do use the bus tracking, though, because ghost buses nearly always have noticeably fewer riders than ones that show up on the tracker tools. I usually email the CTA when I get on a ghost bus, just to make sure they know about it.