I know what pain it was in the beginning to join a wifi network when had to use NDISWRAPPER.
Yeah but that's a very specific case: ndiswrapper is a tool to use a driver made for Windows on Linux when a Linux one is not available. The issue is less with Linux itself than with the fact that some hardware vendors don't provide drivers. The developers can't do much in this case. When someone has a wi-fi card that has a Linux driver, it just works.
Caja seems to find my Personalcloud NAS no problem, but doesn't mount it as such. it just uses the Samba or ftp protocol to access it.
What do you mean? Doesn't it mount it as a network volume through Samba?
Maybe some feedback for developers, to make mounting files and folders as easy as joining a wifi network currently.
Well, it's not especially complicated for basic usage: as on Windows, you browse the network, find the Samba share and click on it to mount it. What you're trying to do is a bit more advanced, sure, but I'm not sure it's easier on Windows to mount a share on system startup (I might be wrong). 
That being said, it sure could be better handled (one can imagine that every network share would be automatically mounted when launching the session), but again, how is it different/easier on Windows?
Anyway, if your PC is wireless, it's probably the issue: you connect to your router's wi-fi network through Network Manager after the session has started, not during the system boot, so it can't find the share at that point and thus doesn't mount it.
It's possible to start the wi-fi connection during startup but it has a drawback (I'll explain below). To do it, you first have to know the "technical" name of your wi-fi interface on Linux. You can get it easily with the Network Manager indicator (the connection icon in the panel) → Informations. There, among the other infos, it'll display the type of connection with the interface name, like "Interface: wi-fi (wlan0)". The "wlan0" is the name we're looking for.
To start the connection at startup, edit the /etc/network/interfaces file:
sudo pluma /etc/network/interfaces
And add the following lines at the end:
auto wlan0
iface wlan0 inet dhcp
wpa-ssid network_name
wpa-psk password
You'll have to adjust "wlan0" in the first two lines if your interface has a different name. Also replace "network_name" by the name of the wi-fi network of your router and "password" by its password (in plain text). It's quite possible that there's more options to add depending on the protocol used but you can start with these options and check if your share mounts at startup.
Now for the drawback: when an interface is setup in this file, it becomes completely unavailable (invisible) for Network Manager. That means that the connection icon in the panel won't see your wi-fi card anymore. This will be a problem if you want to be able to connect to other wi-fi networks, which is usually something people want to do with a laptop...
Of course, you can revert this by editing the interfaces file again and deleting the four lines. Then, Network Manager will see your wi-fi card again but your Samba share will not be mounted at system startup.
EDIT: even if my hypothesis about the wi-fi connection is right, it might still be possible to mount the share at startup without tweaking the interfaces file. In other words, forget the big wall of text I've just written and try to replace the line in your fstab with the following:
//personalcloud/deadlyhydra /media/windowsshare cifs username=xxx,password=yyy,iocharset=utf8,noperm,noauto,x-systemd.automount,nofail 0 0
(Don't forget to put the right values for username and password.)
From what I've found elsewhere, the noauto,x-systemd.automount should wait for the share to be reachable (i.e. after session startup) to mount it. I've found this on the Arch forums so I'm not 100% sure it'll work on Ubuntu but it's worth trying. It's possible that the system takes a bit longer to boot, though. It's also possible that it doesn't work and the boot seems stuck but there should be a timeout at some point (maybe 60 seconds).