Qual a diferença e quais trabalhos exercem os arquivos de extensão .cpp e .h
.cpp são os arquivos de código fonte, e .h são os "headers". Geralmente nos headers você define constantes, tipos, às vezes inclui outros headers, e coisas do gênero. O header geralmente vai como um "include" no .cpp.
#include <arquivo.h>
Quais compiladores posso utilizar para compilar códigos digitados em C++?
Pra isso tem vários. CodeBlocks, Dev-C++ e Visual Studio são alguns. São as IDEs na verdade, mas já vem com compliador junto. Se quiser só o compilador mesmo, tem esse mingw.
Como determino uma função, e a chamo em outro arquivo?
Você pode colocar a função em um header, por exemplo. Aí faz o include no .cpp e chama.
Quais os primeiros passos, e primeiras preocupações que devo ter ao começar a prorgamar no C++?
Ler o máximo possível e entender de verdade o que está lendo. Não se limitar simplesmente a "se funcionou está bom". Não só pra C++, mas pra qualquer linguagem deve ser assim.
Saber outras linguagens de programação como PHP, HTML etc. ajudam no desenvolvimento?
HTML não tem nada a ver. PHP vai ajudar na lógica. Talvez um pouco com a sintaxe também.
Qual a diferença entre "bool" e "void" e para quê posso usá-las/los?
"bool" é o tipo verdadeiro ou falso. "void" é o nada, é quando a função/método não retorna nada.