Don't make it difficult
I went to a coupon site one day, browsed some coupons and found one. Great! Until I go to print it. Well first I have to create an account. For what? Then I have to download this little coupon printer program thingy. Then I had to install it and get it set up on my computer. Then configure it. Then feed it lunch.... I mean come on! I only took it that far because, being in web site design, I wanted to see how far these people were going to take me. Needless to say, I never went back to that site and never finished what I was doing.
Functionality is the way that your web site provides tools that benefit your customers when using the site. It's about making things run smoothly during a complicated process. Things need to work. Common things need to be in familiar places so they are easy to find. A form need only extract the information needed from the customer. Photo galleries should load fast. Catalogs for e-commerce should be categorized and have an easy, visual flow.
Registration- Pardon the interruption
Should your site require the visitor to create an account? If it's not dependent upon whether things can get done or not, then no, it shouldn't. A site that requires registration just so they can obtain personal information will lose potential customers at the "Please register" point of a site. It is an interruption of service for your business. A "point of sale" will become a "just visiting" statistic. I fold there all the time when I deem it unnecessary. Besides all that, it's going to cost money to have this feature installed.
Anticipation....the guy that waited so long for the ketchup to come out of the bottle because it was so thick, he turned into a skeleton! Us older folks remember that one.