The sats also have limited bandwidth, a few hundred megabits... this is sent towards the Earth and each user's antenna in theory receives all that.
Like it was already said, there's a question of distance between the satellite and the ground. The trip takes 100-120 ms one way (maybe a different number, but I'm too lazy to do the math now).
If your plan is two way, then basically means any request you make goes up to the satellite, then back down, then to the ISP and then the ISP has to send it back up and it has to come down.
If your plan is one way (as in download only from sat, upload on ground connection) you just save a trip through the satellite.
Also keep in mind not all ISP companies have the uplink in their own yard - a lot of them just process your computer's requests and group the data your computer needs with other data from other users and its streamed through fiber optics to a center that has the large antennas which can upload reliably to the satellite.
These can very well be in another country, if we're talking about Europe - so between your ISP and the upload to the satellite can be an additional 20-50 ms of latency, simply from routing the data to be uploaded to the "upload center"
So latency is a big issue.
The next is the bandwidth. Like I said, the whole satellite has a few hundred megabits. I know some specialized sats are supposed to come online with a few gigabits so lets assume the whole satellite does 1 gbps.
A satellite costs in the tens of millions of dollars and has a lifetime of about 20-30 years, maybe even less. So the costs have to be recovered during its lifetime. Therefore the actual upload to a satellite and reserved bandwidth costs a ton. I don't know exact numbers but a year or so ago, I heard it costs more than $10k a month to reserve a slot for one or two standard definition channels (so about 10-20 mbps)
People offering internet through satellite make profit only by sharing that downstream bandwidth, that's why you get an average of 5 mbps or something like that. Thousands of users are sharing a small bandwidth pool.
With cable, there's no problem with saturating the bandwidth, as close to you the cable goes in a box and from that point, the bits go through fiber cable through the ISP.