Como resposta anterior, o conjunto de caracteres é um conjunto de caracteres (letras, números, ideogramas etc.) atribuídos a um número; para poder vê-los, você deve ter a fonte (as pequenas "figuras" que lemos). Eles eram importantes usando o LatinX, porque para cada X, o mesmo número (byte) poderia se referir a um caractere diferente.
Atualmente, é mais importante selecionar a codificação: o padrão é UTF-8, a representação de maior sucesso do Unicode (compatível com ASCII, mas tão flexível para incluir todos os idiomas, inclusive chinês e japonês) e o padrão W3C. Em outras palavras, inclui todos os conjuntos de caracteres.
Agrupamento: é uma palavra antiga, derivada do latim. Significa: compare uma cópia (manuscrito) com o original para encontrar diferenças (erros ou alterações). Era muito útil no passado, mas agora é quase um arcaismo, porque nossos documentos e livros são escritos usando computadores e a cópia é sempre idêntica ao original. Exemplo: em italiano (derivado do latim) existe o verbo "collazionare", mas está nos dicionários e ninguém o usa.
Portanto, o agrupamento define o comportamento dos operadores de comparação: =,>, <, <=,> = ...
É claro que esses operadores são usados para decidir se duas sequências são iguais ou se uma palavra é "maior" que outra, muito importante se quisermos ordenar. As letras não estão na mesma ordem para todos os idiomas; portanto, uma palavra pode ser maior que outra usando um agrupamento, mas não usando outro. Veja [1] para um exemplo prático.
os agrupamentos "bin" são os mais rigorosos: SELECT "b" = "B" => FALSE
os agrupamentos "ci" não diferenciam maiúsculas de minúsculas: SELECT "b" = "B" => TRUE
o "geral" tende a ignorar algumas diferenças: SELECT "a" = "à" => TRUE
outros são específicos para um ou mais idiomas. Exemplo "sueco" (não sei por que o sueco geralmente é um padrão)
Ainda estou procurando um site em que o comportamento de cada agrupamento seja descrito em detalhes ... esses exemplos se devem à minha experiência.
[1] http://www.olcot.co.uk/sql-blogs/revised-difference-between-collation-sql_latin1_general_cp1_ci_as-and-latin1_general_ci_as