Uma applet é como uma aplicação Java (usualmente Swing ou AWT) qualquer, mas existem algumas sutilezas que devem ser lembradas, na hora de você tentar rodar applets na sua página Web.
a) Elas rodam em um “ambiente protegido” e não podem acessar muitos recursos locais do computador, como arquivos ou conexões a bancos de dados. Portanto, o que elas podem fazer (se você não as assinar digitalmente) é extremamente limitado.
b) Você tem de se lembrar que você não consegue controlar a quantidade de memória disponível para rodar uma applet (isso não pode ser especificado no .jar ou então em algum tag html), portanto você tem sempre de verificar se sua aplicação cabe dentro da memória disponível, que é muito pequena para as aplicações atuais.
c) Mesmo assinando digitalmente a applet, há algumas coisas chatas que antigamente funcionavam e, agora com todas aquelas coisas que se fizeram para aumentar a segurança dos browsers, não funcionam mais.
d) Se precisar que uma applet acesse código nativo (ou seja, C/C++ e JNI), é muito complicado também (e não costuma ser nem um pouco confiável - ou seja, vai dar muita dor de cabeça).
Exemplo disso: você quer escrever uma applet que acesse uma impressora fiscal. Isso é bem complicado, e nunca funciona muito bem. Redesenhe seu sistema para não precisar de uma applet dessas, se possível
Eu aconselharia a aprender como empacotar uma aplicação usando Java Web Start. Não é fácil também, mas pelo menos algumas das limitações de applets estão removidas.