Trabalho com cartografia então vou dar uma opinião baseada mais na atualização dos mapas do que em outros detalhes.
Infelizmente no Brasil nenhum mapa pode ser considerado perfeito e bala de prata. Vivemos em uma autêntica zona onde cada um precisa correr atrás para mapear por sua conta e risco, ao contrário de alguns países onde a cartografia oficial já dá um bom start.
Por isso não confio em apenas um mapa no Brasil e também não sou do tipo que liga o GPS e saio confiando cegamente no que ele fala. Sou da opinião de que cada minuto perdido no planejamento da rota me dará vários minutos quando estiver andando.
Hoje no Brasil de uma forma geral os melhores receptores de GPS para serem usados são os da Garmin pois o próprio mapa da Garmin é atualizado constantemente e temos a opção do Tracksource. Não tenho um GPS "de carro" uso um Garmin 60Csx.
Segunda melhor opção no Brasil são os mapas na Nokia. A Nokia tem equipe própria se mapeamento no Brasil e por isso também está bem atualizado. O aplicativo dela, o Here, para Android é excelente e permite baixar todos mapas offline, inclusive baixando os pontos de interesse para busca offline.
Sei que nas cidades o Waze é muito bom mas jamais pode-se ter ele com o único aplicativo pois só funciona on line. Particularmente tenho uma birra com ele. Todos que atualizam ele estão trabalhando de graça para sua dona, a Google. Ela não devolve essa informação de forma aberta, apenas compilada em forma de mapas.
Quanto ao aparelho em si existem vários detalhes, é difícil apontar o que é melhor de cara. O chip que faz o processamento dos sinais não tem muita diferença entre um celular e um receptor GPS dedicado. O receptor GPS dedicado tem a vantagem de normalmente ter uma antena melhor, por outro lado celular tem a vantagem do A-GPS que lhe dá a informação de posição da antena da operadora. A vantagem disso isso principalmente no TTFF (time to first fix). Não quero entrar em muitos detalhes técnicos mas de forma geral é o seguinte: quando um receptor é ligado ele baixa uma série de informações da constelação de satélites. Se ele "não souber onde está" precisa baixar mais informações para o recalculo da posição. Como esse processo é passivo (não dá para pedir para o satélite enviar a informação específica) o processo demora pois é necessário descarregar tudo que está vindo. Por isso que existe a demora para o receptor se posicionar. Mesmo que você não mude o receptor de lugar essa demora pode ocorrer se o receptor tiver ficado desligado muito tempo.
No caso do smartphone ele recebe a informação da antena da operadora: "ó, você está mais ou menos aqui" e com isso tem um ponto inicial para recalculo.
A grande desvantagem do celular são as já citadas autonomia e tendência a super aquecimento já que é um dispositivo multi função. Se não fosse esses detalhes eles seriam a melhor opção hoje em dia.
Um adendo: quando de trata de viajar fora do país tudo muda de figura. Na Europa, por exemplo, a base cartográfica mais atualizada que existe é a Open Street Maps. Infelizmente ainda não existe um aplicativo perfeito que faça uso dessa base. O melhor que achei até agora foi o GPS Nav & Maps. O Here também é fantástico, estou mesmo fazendo uma viagenzinha na Europa e estou usando somente ele pois resolvi não gastar com compra de chip com Internet dessa vez.