I have used MagicJack for years with occasional big problems here and there, but when it works it is great and generally works for months without issue.
Recently I had a friend ask me if I wanted their MagicJack, since their service had been cut off. They said that they had gone over a cap that MagicJack has on number of phone numbers you can call in a day. You are limited to fifty calls per day.
I noticed a thread online that stated that they were a low usage user. Then one day they had a large call volume day, which went over the fifty call limit and they were immediately cut off. They argued that since their usage was never even close to fifty phone numbers called on any other day, to be cut off for one large day was unfair. They also argued that the wording of the Terms of Service indicated 50 calls per day everyday.
There has also been some discussion of long calls being disconnected. MagicJack customer service seems to be blaming it on an over heated USB device or slow internet connection, in sprite of people claiming that it drops at exactly two hours.
Others have noted that MagicJack can cut off your service if you make an excessive number of calls. The terms of service are unclear. It says something about 20-30 times the average use. They don't define average use, so it is hard to determine how this limit would impact you.
I personally think that 20-30 times average use is fine, but would like a quantification of what that is. I think that the two hour call limit is stupid, but likely something most folks can live with. If you happen to be on the phone with grandma for two hours and get cut off, call her back.
The number that bugs me is the 50 phone numbers called per day limit. This seems like a bad restriction. While I think that most users won't hit that limit I think that number should be a lot higher, if there has to be a number at all.
It was my understanding when I got the device years ago that MagicJack made its money by being a backbone provider and routing calls in a way that made them money. It appears that on outbound calls they don't make money on them. Perhaps this is similar to when I use Google Chat to send SMS messages I can only send 50 messages. When I send a message it decrements my available messages to send. When I receive a message my available messages to send goes up by 5, capping out at 50. Perhaps Google also makes money on received messages, but has to potentially pay for sent messages.
Just be aware that MagicJack allows you to make free calls (after the yearly fee is paid), but not unlimited calls.
If you have a business with high call volume, you might want to get multiple MagicJacks to mitigate the limit. You will probably still be much cheaper than a monthly phone bill from the phone company. You could set up a Google Voice number that rings all of the MagicJack phone numbers and answer which ever one you want, but manage you usage on each one for outbound calls.