Fuddy-duddy is a slang term that means some one who is no-fun, a spoilsport, old-fashioned, or who is otherwise boring or annoying. It is often applied to the elderly, or at least someone older than the speaker, but can used on anyone.
The term first appeared in America in the late 1800s (first recorded in written language in 1871), where it appears to have meant someone old-fashioned. We do not know how it originated, although the most popular theories are that it is a corruption of the word 'fussy' and/or 'daddy'. It is interesting to note that the term duddy fuddiel was used in a local dialect of Northern England around the same time period (first recorded in 1899) to mean 'a ragged fellow'; etymologist Michael Quinion believes that this is probably the origin of fuddy-duddy, although there is no strong evidence for this other than temporal proximity.
Fuddy-duddy has since been used in many different forms, including 'fuddy' and 'fuddy-dud', and all the various spellings that you can imagine. It has also come to be used as a verb and an adjective, and has gained some popularity in other English speaking countries.