Na empresa que trabalho utilizamos Delphi e muitos componentes de terceiros. Eu não gosto muito disso pois quando atualizamos a IDE ou formatamos um PC tem um trabalho bem grande pra instalar tudo denovo e nunca funciona de primeira, sempre tem algum componente para atualizar, alguma incompatibilidade e as vezes um componente descontinuado.
Nos meus projetos particulares sempre utilizo o Lazarus com componentes nativos. As vezes há necessidade de usar componentes de terceiros mas se possível eu prefiro não. Assim quando atualizo a IDE sempre funciona tudo perfeitamente sem incomodações. Alguns componentes de terceiros terá MUITOS recursos e isso é bom, mas as vezes tem um preço de performance que em boa parte das vezes é significante. Você tem melhor desempenho se herdar um componente nativo implementando as características que vocês necessita.
Dentro da pasta do Lazarus tem a pasta "components". Alguns dos componentes dessa pasta não vem instalados, mas você pode instalar. Outros deles são apenas runtime como é o caso do "mouseandkeyinput" que serve para manipular entradas do mouse e teclado. Explore também a pasta "examples" dentro da pasta do Lazarus.
A única coisa que sinto falta é um suporte para Skins como tem nativamente nas últimas versões do Delphi. Em alguns casos, para ter componentes agradáveis e com visual sofisticado eu tive que desenvolver componentes com as características visuais e de interação que eu queria. Então se alguém conhecer algo bom para isso no Lazarus me avisa que também quero saber!
Aproveitando que você está começando agora no Lazarus tem duas dicas que considero úteis e importantes: 1. Ative o relatório de vazamento de memória no início do projeto (Projeto > Opções do Projeto > Opções do Compilador > Depurando > Outras info. de depuração > Usar a unidade Heaptrc). Isso é uma ótima prática porque muita gente deixa objetos na memória e depois não sabem o que deixa a aplicação lenta e consumindo muita memória. Quem não usa isso é quase certo que deixa alguma coisa vazar. É o dedo duro do programador!
2. Pense sempre em Cross-Plataform. Se você usa o Windows para programar, não use coisas específicas do SO, procure sempre uma alternativa que seja multi-plataforma. Por exemplo, se você quiser a constante para a tecla ENTER(#13), não adicione a unit "windows" para utilizar o VK_RETURN, ao invés disso você adiciona a unit "LCLType" que faz a mesma coisa mas vai funcionar nas demais plataformas.