Почему функция console.log зависит от функции return?
Учи области видимости в языке. Если книжка не может объяснить, то прочитай тут: https://habr.com/ru/company/ruvds/blog/337038/
или тут: https://learn.javascript.ru/functions-closures
или тут: https://getinstance.info/articles/javascript/varia...
В твоем случае balance, amount в функции это локальные переменные, они не имею отношения к глобальным, имя не имеет значение, и то что оно одинаковое путает тебя.
Мне тут еще подсказали по моему вопросу и ://declare variable;
    var balance = 10500;
    var cameraOn = true;
    var amount = steal(balance, 1250);
    //function;
    function steal(balance, amount) {
        cameraOn = false;
        if (amount < balance) {
            balance = balance - amount;
        }
        return balance; // 
    }

    console.log(amount);Возвращаемое значение функции присваивается переменной amount!!!!!!!!Вот теперь я понял почему при смене return balance на return amount будут разные значения!!!!