BIND variables reduce parsing overhead because Oracle can reuse the same parsed statement for different values. They also make code reusable and prevent SQL injection. They don't reduce execution overhead (execution time depends on data volume) and don't force index usage (index choice depends on optimizer and selectivity).