I spent about 3 months researching online MS CS programs before applying last year. Here is what I actually learned, not what the school websites say.
the programs I looked at: Georgia Tech OMSCS, Carnegie Mellon MCDS (not online but I looked), UT Austin MSCS, USC Viterbi online, University of Illinois Urbana-Champaign MCS, and Purdue online.
georgia tech OMSCS is the consensus king for affordability and name recognition. $7k-8k total, takes 2-4 years part-time, and has a strong ML and systems specialization track. the course quality is genuinely good in the core classes. the cons: async means you need a lot of self-discipline. some electives are much weaker than the core offerings. the admission bar has risen a lot since it went mainstream.
UT austin MSCS recently got more competitive. the name recognition is solid in Texas and increasingly nationally. tuition is still reasonable (~$10k-12k last time I checked). I know two people who did it and got hired by Amazon and Databricks post-degree.
UIUC MCS online has a similar reputation to GT in systems and databases specifically. less famous on the coasts but well-regarded among engineers who know it.
USC Viterbi online is the most expensive of these by far and the name doesn't land as cleanly for software roles. I heard it's better for aerospace or hardware-adjacent work where USC has alumni density.
Purdue is cheaper than USC but I couldn't find strong placement data. skipped.
what I ended up doing: enrolled in GT OMSCS, machine learning specialization. 10 months in. the program is legitimate. the cohort size is huge (17,000+ enrolled), which makes finding study partners easy and makes the discussion boards feel like reddit. if you can handle asynchronous and don't need a cohort experience, it's the best value in the market.