Грубо говоря UDP просто шлет данные, а TCP шлет следующий пакет только если партнер по коммуникации подтвердит предыдущий.
UDP используют если неважно придет ли каждый пакет, а важно только что придет большинство, причем отвечать на каждый пакет либо слишком затратно, либо коммуникационный канал не позволяет. Лучший пример - интернет-радио. Отвечать на каждый пакет невыгодно потому, что вам придется практически повторить всю трансляцию на сервер и если каждый клиент будет это делать, то никакой сервер этого не выдержит. Да и радиотрансляция должна проходить в реальном времени. А чем больше всяческих обработок, тем дольше ждать пакет.
И еще: если в радиотрансляции не дойдет пара пакетов ничего страшного не случится. Вы услышите только небольшие помехи.
В случае трекинга пакетов не настолько много, что необходимо использовать UDP. Т.е. TCP в данном случае нормальный выбор. Хотя по идее ничего страшного не произойдет если использовать UDP.
Да, кстати, возможно (лично я не проверял) это может отразиться на трафике. По слухам операторы мобильной связи начинают считать трафик с каждой сессии заново, а в UDP понятия сессии нет, поэтому они считают заново с каждой посылки. А тарификация обычно идет не побайтно, а десятками или сотнями килобайт. Так что может получиться, что UDP несмотря на свою экономность в случае мобильной связи будет дороже. Впрочем, это неподтвержденная информация :-)
Если же вас интересует более точный ответ по тонкостям протоколов, гугл вам поможет.