無名関数を引数として受け渡すときに、#' のをよく見かけるのですが、
これはないとあかんもんなんですか? なくても期待通りの動作をする
ので違いがいまいち掴めてません。

あるときとないときで挙動が違う身近な例を教えていただけると
理解が早くて嬉しいです。処理系は CLISP を使っています。
下は HyperSpec にあった例であってもなくても同じ挙動をします。

(defun adder (x) (lambda (y) (+ x y)))
(setq add3 (adder 3))
(funcall add3 4) => 7

(defun adder (x) #'(lambda (y) (+ x y)))
;; (defun adder (x) (function (lambda (y) (+ x y))))
(setq add3 (adder 3))
(funcall add3 4) => 7