I am getting confused about the meaning of the term "ancilla" qubit. It's use seems to vary a lot in different situations. I have read (in numerous places) that an ancilla is a constant input - but in nearly all of the algorithms I know (Simion's, Grover's, Deutsch etc) all the qubits are of constant input and therefore would be considered ancilla. Given that this does not seem to be the case - what is the general meaning of an "ancilla" qubit in quantum computers?
The general meaning of ancilla in ancilla qubit is auxiliary. In particular, when people write about "constant input" what they mean is that, for a given algorithm -which has a purpose, such as finding the prime factors of an input number, or effecting a simple arithmetic operation between two input numbers the value of the ancilla qubits will be independent of the value of the input.
Probably your confusion arises because some algorithms study a function, employing a constant input, rather than study an input, using a constant function. Maybe in these cases the term ancilla qubit makes less sense, since, as you point out, all input qubits are constant and act as ancillae.
When translating a classical circuit into a quantum circuit, you often need to introduce extra qubits simply because quantum computers only implement reversible logic. Such extra qubits are ancilla (or ancillary qubits).
One way to spot which qubits are ancilla is to look for those qubits that typically need to be "uncomputed" when using the quantum circuit as a quantum oracle in another quantum algorithm.