I don’t think that you have to have one but the cloud service could get quite expensive if you have a lot of devices. I’m not 100% sure on this but I believe the cloud prices are per device.
Edit: I just looked and they give a 50% discount on multiple devices after the first.

But dont they have a basic plan which is free? Its just video for 36 hours of alert clips, so its not continuous just records of alerts correct? where as the NVR give the constent recording, if im understanding this.

Also If I have 10 wifi cameras then do i need to get a NVR that has 10 channels?

I believe it’s only free for 30 days. Then you would have to subscribe and start paying to receive the service. If you only want motion clips that may be a free deal. Hopefully one of the moderators can answer this better for you.
You will need a channel for each camera you want to record. And the bigger the hard drive the more days it will store recordings before it starts to overlap new video over the old.

Better off getting a DVR
1-zmodo 'server" is not as reliable as I prefer
2-their customer support is not stellar
3-in case your wifi/cable/internet goes down you still have a file back up in case of a situation
4-no monthly fee/charge for their “cloud”