Many US citizens stop at an undergrad CS degree for financial reasons, not because they're unwilling to do the hard work for an advanced degree.
Many of them have student debt to pay off for their BS degrees. The last thing they need is more debt. They might want to go to grad school and work toward an advanced degree. But, realistically, are there enough job opportunities, with higher salaries, open to advanced degree holders? I read that most employers aren't looking for people with graduate-level CS degrees because they don't want to pay the higher salary.
Sometimes an employer will supplement the cost of a graduate degree. Otherwise, most American CS majors who stop at the BS degree are being practical, not lazy.
My package was at the higher end of normal, with $25-27k per year stipend, tuition waiver, and state employees health/dental, but similar arrangements are ubiquitous at good universities.
Sure, lots of students just want to go to work after the BS, and that is completely respectable, but the cost (other than lost wages) is not typically a reason to not pursue a CS Ph.D. in the US.