We were due to fly to Canada 4 weeks ago where we found out at the checking point that we were supposed to have ETA visa. This was launched by Canadian governments just three weeks before we were due to fly. This was obviously after we bought the tickets and the only reminder was on the ticket was about applying for ETA if we were going to USA. We were quite early so managed to apply for the visa and had two applications processes on time and the last one took three hours to get the visa which by then the flight had taken off. We were also told that because we didn't check in, the return flight was cancelled as well so we had to buy a return tickets for three of us again using a different airline. Do we have a right to apply for refund? is the airline or the agency responsible to make passengers aware of any changes after a ticket bought?
You are wholly and fully responsible for any entry or travel requirements put in place by your destination or transit countries. The airline may remind you and assist you, but they are not in any way responsible for informing you of any requirements.
As an aside, the eTA was not just introduced 7 weeks ago, its been in place since March 2016 and was advertised from early 2015 - you could apply for an eTA first in August 2015, well ahead of the requirement deadline.
The eTA is also not a visa, it is a travel authorisation which is required if you wish to travel to, from or via Canada by air only. It is in addition to any visa requirements.