Bem, vamos lá 
Um SGBD (Sistema Gerenciador de Banco de Dados) é uma aplicação ou um conjunto de aplicações que tem como objetivo gerenciar dados. Cada SGBD tem sua forma de gerenciar tais dados, ou seja, cada um grava os dados de uma forma e tem políticas diferentes para manipulálos.
Hoje em dia, o modelo de gerenciamento de dados mais utilizado é o modelo relacional, onde são criadas tabelas que armazenam os dados e essas tais tabelas se relacionam entre sí. Nas tabelas os dados são armazenados nas linhas que por sua vez são divididas em colunas que correspondem aos atributos daquela tabela.
Por exemplo:
Tabela Pessoa
[code]
Atributos ou campos -> Nome Sobrenome Telefone
Dados (em linhas - registros) David Buzatto 19 36363636
Leandro M… 11 12545454[/code]
Para que uma aplicação se comunique com o SGBD é utilizada uma linguagem chama SQL (Structured Query Language). Essa linguagem é constitúida principalmente de dois tipos principais de comandos, onde a primeira classe são os comandos de seleção (para obter os dados) e a segunda os comandos de persistência (inserção, exclusão e alteração).
Hoje em dia, em Java principalmente, existem bibliotecas que fazem essa persistência de forma mais simples, sem o programador ter que escrever código SQL. Uma dessas bibliotecas é o Hibernate, mas isso ainda é meio avançado para vc aprender.
Bem, para que sua aplicação Java ou qualquer outra aplicação converse com o SGBD é preciso que você se conecte ao sistema. Em Java especificamente nós utilizamos o JDBC (Java Database Conectivity), que é uma especificação que dita como deve ser feita essa comunicação. Para que possamos usar o JDBC, precisamos de um driver de conexão, que é diferente para cada tipo de SGBD. Esse driver é fornecido pelo fabricante do SGBD.
O Derby é um SGBD embutido e se não me engano ele não é relacional e sim orientado a objetos.
Um SGBD normalmente é instalado em um servidor que será dedicado apenas a ele, ou seja, uma máquina só para o banco de dados. No caso do Derby, o mesmo é executado junto com sua aplicação e não em um computador à parte.
A sua idéia de manter dados em arquivos de texto é inviável, pois além de ter que esrever toda a lógica para a manipulação dos arquivos, você ainda teria que implementar meios de que seus dados se mantenham integros e que os mesmos pudessem ficar a salvo quanto a concorrência (muitos programas os acessando).
Sendo assim, os SGBDs (MySQL, Oracle, SQL Server, Postgree, DB2, Sybase, etc) entram na jogada para ajudar na persistência dos dados e ós mesmos utilizam uma linguagem padrão (SQL) como interface entre a aplicação e o SGBD.
O SQL é uma linguagem padronizada, sendo que os SGBDs atuais seguem essa padronização quase a risca… Os fabricantes dizem a quais aspectos seu SGBD é compatível ou está de acordo.
Sei que é muita coisa p/ vc entender, mas o básico seria isso. Espero que eu não o tenha confundido mais.
Dá ma pesquisada nessas palavras chave:
SQL, SGBD (DBMS ou RDBMS), JDBC
E por algum SGBD usado atualmente:
MySQL, Oracle, SQL Server, Postgree
Até mais!