Это переменная. Поэтому с @.
Значение 150px взято произвольно, в переменную не записано, поэтому без @.
Как читается условие? “Если через примесь в качестве параметра передается цвет, то он добавляется как фон” “Если в качестве параметра используется число, то оно записывается как ширина и высота.”
Это больше связано с логикой механизмов (как мне кажется), нежели просто с удобством. Когда мы приписываем собаку, мы как бы говорим механизму “подставь сюда параметр (переменную) с таким же названием”. Комп ищет и не парится. А когда мы вручную прописываем, мы ему говорим: “примени это” и точка, без всяких поисков.
Переменная - это как бы кличка какому то параметру. Вместо длинного “#ff4136” мы зовем его “@red”, указывая обязательно, что это кличка (на это указывает “@”)!
Если хочется, “150” тоже можно превратить в кличку. (не уверен что в именах кличек разрешены цифры). “@one-hundred-fifty” например.