Вебсокеты выбирают в двух случаях:
1. Когда нужна обратная связь с сервером(тоесть когда сервер может сам вам послать сообщение, а не только отвечать на входящие)
2. Когда важно иметь маленькие задержки между пересылками данных.
Между тем, websocket более сложная для разработки технология, чем простейший AJAX.
Поэтому, если вам не важны вышеперечисленные пункты, выбирайте AJAX.
socket.io это технология, которая реализует уровень абстракции над всеми этими AJAX, WS, Comet и прочими. Она позволяет наладить аналог полнодуплексной связи с сервером, и в зависимости от возможностей клиента использует либо WS, либо http-binding и т.п.