I'm only familiar with Garmin, so can't help you with options from TomTom or others. Here's what I know:
If you have a BMW with the Nav prep package (most 2013-up GS and GSA, 2014-up RT, 2012-up K1600, others) your best choice is one of the BMW-branded Garmin unit called the Navigator (how original). Current one is the Nav VI (same size screen as Nav V but brighter), earlier are Nav V (larger screen than Nav IV), and Nav IV. New Nav VI is pricey, check around (forum "for sale" sections, eBay) for used ones. They work with the wonderwheel on bikes so equipped.
There is a 4-button cradle sold by BMW that does the same things as the wonderwheel (zoom in/out, change pages, select some options) you can use on any bike not equipped with the nav prep package. Since all it does is power the unit, the buttons and touchscreen control it, you can use it on any vehicle, even a Vespa if you're so inclined. Again, not for the financially faint-of-heart unless you get one used.
Garmin 660 and 665 (discontinued in 2015) also fit into either of the BMW cradles but all they do is accept power from the cradle, they don't work with the buttons/wonderwheel. You have to use the touchscreen to do everything.
All of the Garmin units accept routes created in their BaseCamp product, or routes in GPX format from anywhere. If you know how to drag routes in Google maps to modify them you understand the basic concept of BaseCamp although the details are different. It has a rather steep learning curve and requires a real computer (Windows or Mac) to run, there is no tablet version. They quit doing feature upgrades in 2016, and there's no replacement on the horizon but it does what it needs to do and it's reliable.
I personally am a fan of BaseCamp, I can plan routes to suit my needs, upload them, and go. The downside is I have to travel with a laptop. Far more flexible than the limited options on the units themselves.
Current: 2020 R1200 GSA Low
Previous: 2016 R1200 GSA Low (traded); 2015 R1200 RT (traded); 2012 K1600 GTL (traded); 2011 R1200 RT (totaled, RIP)