Both valid complaints: The weird routings MAY, and I emphasize MAY be reduced by careful attention to the configuration settings. If you tell a GPS to use expressways, then it'll try to use expressways even though you'd actually prefer a more direct route with a few traffic signals.
The confusion probably is due to the GPS device not knowing exactly where it is. GPS is often accurate to a few meters, but if the gods are unkind and/or if some satellites are not visible and/or there is multipath reception and/or there is interference with the satellite signals and/or you are in a parking garage or tunnel and/or who knows what, the $%^# box can be off by many tens of meters. That results in it issuing instructions that are worse than useless. And, yes, not knowing exactly where it is is likely to be a BIG issue for autonomous vehicles.