No matter which printer you're using, there's a chance that the manufacturer already released a compatible iOS and/or Android app. I did some googling and I found that there's an app for the Brother printer in my office (iOS, Android, and WP7). I also know that HP have an app.
Try googling "Manufacturer iPrint" and see what comes up. That is how I found the Epson, HP, and Brother. It looks to me like they all licensed the tech from the same place and the iPrint name came with it.
If googling doesn't work then try the support pages for your printer. I can't find anything right away for Canon, but it's worth a second look.
BTW, my initial question is probably redundant. I bet the reason that each company have their own app is because printer drivers are proprietary. They need to make something that works like their drivers and once they've done that they might as well release the app themselves.