Yes, because if you just buy a hard drive and put in in a drawer somewhere it will magically start working as a cloud storage service. I'm not saying if it's a fair price or not, but comparing a cloud storage service to the equivalent price of the storage they give you isn't really all that fair.
To start with, they would probably store it on at least 2 different devices to ensure that if the drive dies, that all your data isn't lost. So you're already up cheaper than the cost of the actual storage. Then they have to buy a backup power system including batteries and generators, because you don't want the service to go down when the power goes out. You have to buy actual servers to put the drives in. You have to pay for network and electricity services. You also have to pay people to develop and maintain the systems to support all this. After listing this all out, the fact that I could get 50 GB for $1.99 a month or 1 TB for $7 a month, or 5 TB split 5 ways for $10 per month on the family plan is actually pretty impressive.