Who must have a Canada eTA?

Anyone travelling to Canada by air who is from a visa-exempt country and is travelling to Canada by air (using their visa-exempt country passport), must apply for eTA to get authorisation to enter the country. You must have a Canada eTA even if you are only getting a connecting flight in and out of Canada, if you do not have another form of Canadian visa.
The eTA is intended for people who are making short trips to Canada of no longer than six months, anyone who is planning to be in Canada for longer than that will require an alternative type of visa for their stay.
People who have a Canadian visa, are a permanent resident or hold Canadian citizenship would not require an eTA to enter Canada. US citizens do not need an eTA to travel to Canada, just their US passport but Green Card holders (permanent residents of US) do require an eTA to visit Canada and will need their Green Card as well when going through border security.
Dual citizens of Canada and another country will not require an eTA but they must have their Canadian passport with them.