в prepared statements входит execute() и prepare()
prepared statements - это то, из-за чего mysqli называют "более безопасной".
хотя для безопасности они недостаточны.
и безопасные запросы можно строить и без них
сразу предваряя твой вопрос.
отладка с использованием prepared statements - наоборот, затруднена. Скопировать запрос в консоль и выполнить его там - невозможно.
кэширования никакого prepared statements не обеспечивают, за исключением очень редкого случая, когда один и тот же запрос выполняется несколько раз в одном и том же скрипте.