I think the thing about this stuff is, it’s like anything, years of usage will sharpen your desires down a road for things you want, features, aesthetic etc. There are so many software packages and ways of getting stuff done here, it can be good to sample everything for a while so you can get a sense of what you want vs what’s possible.
For instance, a lot of people start in live video mixing, Isadora as you mentioned is good here, but Resolume, CoGe and VDMX also serve well in this space. Like audio you can start here with samples, using premade clips or movies, or maybe using After Effects or Flash to render out your own clips.
I think it’s at this point that two things happen - the first thing is you become sick of built in plug ins and effects. Secondly, to fix this, people want to get right down to the signal level, and the taste a live video mixing program gives a user for ‘realtime’ content, that desire begins to want to extend right down to the source, rather than an entire rendered image. And so one starts researching all the possible softwares for this.
The question then becomes: do you want to program a computer, ie learn text-based computer programming to do this, or do you work better with a visual node-based programming language such as Max? Often, you’ll wind up doing both 
For visual programming, Quartz Composer was a popular tool for this for quite some time, it comes free with any Mac, but it’s never been properly supported by Apple and isn’t well documented.
More recently, popularised by artists such as Amon Tobin, the software Touch Designer by Canadian company Derivative has become the cool new kid of the block, and is a great platform for creating live visuals while getting instant feedback in real-time. It’s now available for Mac also, as well as PC. Jitter (Max) is of course another option.
vvvv is another tool which is great for live visuals and delivers instant results, but only for Windows here. Of course other people are using game engines such as Unity or Unreal to achieve their projects.
In terms of text-based programming there are some great packages available, most open-source, in a community that is often referred to as ‘creative coding’. Here, packages such as OpenFrameworks, Processing, and Cinder are great places to start, probably Processing if you are a beginner.
I suggest playing around in all these, node-based and text-based, giving everything a try and nutting it out to try and figure out what works best for you. Of course the forums of any of these softwares is a great place to start as are the tutorials and help pages on their websites. Like Nauts, you’ll often find a resourceful and helpful community at the ready.
Me personally, I’ve tinkered a lot, and most recently settled on Processing for a major project I’m working on. It does have its own aesthetic, a little bit of an 80’s Tron vibe which I actually like
- most of the programs you can use have their own visual vibe, which can be broken out of with enough experience or misuse.
I actually consider myself a visual person so it was odd that I found myself coding up my visuals rather than using a visual patching program. In the end the processes are basically the same, just one you type code the other you connect boxes with virtual cabling. But I’ve found the linear progression of text down a page far more manageable and readable than the spaghetti mess of patches and patch wires I often come up with, for me it was more difficult having to trace the signal flow of particular programs rather than just seeing it all laid out in text. YMMV but at the moment that works for me.
Good luck!