С риском звучать бесполезно: «Это зависит».
Я думаю, что это немного усложняется тем фактом, что CFPARAM можно использовать для установки значений по умолчанию, а также для проверки типа переменной и выдачи ошибки, когда она не совпадает. Тем не менее, я почти всегда использую его только для первого. Что касается последнего, многое из этого было отнесено к аргументам компонентов.
Одно из наиболее полезных применений - на странице действий для формы с флажками.
<cfparam name="form.myCheckbox" default="" />
Так как в форме нельзя установить ни один из флажков, мне не нужно создавать специальную проверку, чтобы проверить, существует ли переменная формы перед ее использованием, и, поскольку я почти всегда рассматриваю ее как список пустая строка все еще действительна для функций списка.
Что касается того, где их разместить, когда я их использую, я почти всегда помещаю их в верхнюю часть файла cfm, но это, вероятно, просто вещь стиля. Если вы добавите их в свой код, я думаю, что вы столкнетесь со случаями, когда переменная будет установлена, и вы не будете знать, где это произошло.
Конечно, я использую Model-Glue исключительно в эти дни. Не очень полезно для CFPARAM.