As far as I know, if you are switching to Rogers from Fido, Rogers will cover the cancellation fee IF you have been with Fido for more than one full year AND you need to take a new 2yr/3yr contract with Rogers depending on the length of your current contract with Fido, but when you get your final bill from Fido you should see the cancellation fee still. All you have to do is to call up Fido and let them know your new Rogers account#...
I think it is best to doublecheck with Fido agents before you do because those terms change all the time.
If you do it the other way (Rogers to Fido), they don't cover the whole penalty but the maximum you will have to pay is $100 and they will cover the difference because Fido is considered as a discount brand.