Caps like this (even if the company tries calling them "data thresholds", they are still caps), only serve one purpose: To prevent people from
cutting the cord and watching Internet video instead of the cable ISP's TV service.
A normal Netflix stream takes about 1GB per hour for SD and 3GB per hour for HD. A 300GB a month cap equals 300 hours of SD Netflix and 100 hours of HD Netflix. (Obviously, this is only if you used your Internet for nothing but Netflix which isn't realistic but to keep things simple we'll ignore other Internet uses.)
Given an average of 30 days per month, this is 10 hours per day for SD Netflix. This doesn't seem too bad at first, but if multiple people watch shows at the same time, you're draining your hours faster. (e.g. If the kids are watching a show in one room while your spouse watches in another room and you watch a show in a third room, you're using 3 hours for every hour that passes.)
For HD shows, a Comcast customer would only get 3.33 hours of HD Netflix per day. Use any more than that and you could be charged $10 for every additional 16.7 hours of HD Netflix. This comes out to paying $10 to get another half hour of HD Netflix every day.
In short, the cable ISPs are doing this so that they can say "see how expensive Internet video is" and steer people towards "cheaper" cable TV. The reality is that they are making it expensive by engaging in monopolistic behaviors and adding fees if you use competitors' services.