While it is very easy to add a network printer on Linux (and any other OS for that matter), a network scanner isn't that easy. For one, searching on the internet for "network scanner linux" or anything like will yield results for programs that scan the network, not for scanning documents over the network. So, the easy way of finding somebody that has done this before you is not that easy.
The other problem is that there is always a chance you are gonna need drivers for your network scanner. In my case it was an EPSON L386 (multi-device). It is an affordable multimachine that uses plain ink (bottled!) instead of cartidges.
The first step was to add it to the network. While this would have been easy on other operating systems, on Linux it was a bit trickier. I had to connect using the WPS button on the printer, then finding its IP from inside the associated devices list in my router and finally changing it a static IP. Nothing difficult if you have decided to use Linux of course!
Printing was easy, CUPS finds the printer right away.
Network scanning required installing drivers from Epson, called Epson iscan. If your distro has it in its repos you are good to go, if not then you can download it from http://support.epson.net/linux/en/iscan_c.html
Once you download this, extract it and run the install.sh script. After that you need to edit /etc/sane.d/dll.conf and add epkowa (and net if it doesn't exist) in it like this:
# /etc/sane.d/dll.conf – Configuration file for the SANE dynamic backend loader
Then, edit the /etc/sane.d/epkowa.conf file and add an entry with the IP of your scanner:
# epkowa.conf — sample configuration for the EPKOWA SANE backend
# net autodiscovery
And that's all, now both iscan and xsane will be communicating with your scanner over the network. I do not yet have a preference to one or the other utility, though iscan seems to be better at previewing.