jQuery é puramente projetado para simplificar e padronizar scripts em navegadores. Ele se concentra nas coisas de baixo nível: criação de elementos, manipulação do DOM, gerenciamento de atributos, execução de solicitações HTTP, etc.
jQueryUI é um conjunto de componentes e recursos de interface do usuário construídos em cima do jQuery (ou seja, ele precisa do jQuery para funcionar): botões, caixas de diálogo, controles deslizantes, guias, animações mais avançadas, funcionalidade de arrastar / soltar.
jQuery e jQueryUI foram projetados para serem 'adicionados' ao seu site (desktop ou celular) - se você quiser adicionar um recurso específico, jQuery ou jQueryUI podem ajudar.
jQuery Mobile , no entanto, é uma estrutura completa. Pretende ser o seu ponto de partida para um site móvel. Ele requer jQuery e faz uso de recursos de jQuery e jQueryUI para fornecer componentes de UI e recursos de API para a construção de sites compatíveis com dispositivos móveis. Você ainda pode usar o quanto quiser, mas o jQuery Mobile pode controlar toda a janela de visualização de uma maneira compatível com dispositivos móveis, se você permitir.
Outra grande diferença é que jQuery e jQueryUI pretendem ser uma camada acima de seu HTML e CSS. Você deve ser capaz de deixar sua marcação e aprimorá-la com jQuery. No entanto, o jQuery Mobile fornece maneiras de definir onde você deseja que os componentes apareçam usando apenas HTML - por exemplo, (do site do jQuery Mobile):
<ul data-role="listview" data-inset="true" data-filter="true">
<li><a href="#">Acura</a></li>
<li><a href="#">Audi</a></li>
<li><a href="#">BMW</a></li>
<li><a href="#">Cadillac</a></li>
<li><a href="#">Ferrari</a></li>
</ul>
O data-role
atributo diz ao jQuery Mobile para transformar essa lista em um componente de UI compatível com dispositivos móveis e as propriedades do conjunto de atributos data-inset
e data-filter
disso - sem escrever uma única linha de JavaScript. Os componentes jQueryUI, por outro lado, normalmente são criados escrevendo algumas linhas de JavaScript para instanciar o componente no DOM.