datasets are like filesystems on zfs and cifs shares is a protocol to access that data. When changing the dataset type you are forcing the dataset to use a certain type of permissions, posix in the unix case and ACL's in the windows case. When you configure a share(cifs) or export(nfs) you are just allowing for a way to access that data over a certain protocol.