It means that some (not all) JDBC drivers will bind your parameter to the appropriate table column early/upfront and keep that binding (so it's not repeated each time the prepared statement is executed). It's a performance enhancement basically.
They have different meanings, in fact one is used within the other (for PreparedStatements).
Precompiling is a step that involves preparing the SQL statement for execution on the Database server, you often want to do this if the SQL is going to be executed more than once. Binding forms part (but not all) of that precompilation step.