The problem is, as I understand it, that interfaces are getting so complicated that it's becoming almost impossible to reverse engineer them. So unless the hardware maker releases enough information for it, drivers can't be written. And everything I've heard about Canon is that they pretty much just ignore the Linux market and refuse to offer any help at all.
Epson, OTOH, has a subsidiary,
Epkowa/Avasys, that provides drivers for their products. These are binaries wrapped in an FOSS shell, but at least it provides people with a way to use their products. I've been pretty happy with the Epson all-in-one I got to replace the Canon I can't use. It looks like your 3490 is not only supported by the Epkowa drivers, but also by the sane-snapscan backend. A doubly-good choice.
I don't know much about HP either way, but I've heard their Linux printer support is good, so maybe their scanners are supported as well.
I've found that the one of the big secrets to being happy with Linux is to make sure your hardware is supported before you buy it. Otherwise you're liable to have lots of problems.