The first thing to note is that it doesn't solve many major problems. The lack of development talent is the biggest one; trying to get someone to move from California to Canada isn't something that's solved as simply as offering more money. And in my experience (as a recent graduate), the talent that would have studied computer science or has an interest in programming moves onto "safer" education and career options (in the local context) - usually engineering or commerce/finance.
There's simply a lack of talent, or more realistically, a lack of talent with no better options.
The money here is being used to attempt to make up for the extreme economies of scale that places like Silicon Valley have. It's not enough to make Canada a competitive place to start a startup, really, but it may have some effect on the total amount of expatriation by talented individuals.