The Jargon File (version 4.4.7, 29 Dec 2003):
bells and whistles
 n.
    [common] Features added to a program or system to make it more flavorful
    from a hacker's point of view, without necessarily adding to its utility
    for its primary function. Distinguished from chrome, which is intended to
    attract users. ?Now that we've got the basic program working, let's go back
    and add some bells and whistles.? No one seems to know what distinguishes a
    bell from a whistle. The recognized emphatic form is ?bells, whistles, and
    gongs?.
    It used to be thought that this term derived from the toyboxes on theater
    organs. However, the ?and gongs? strongly suggests a different origin, at
    sea. Before powered horns, ships routinely used bells, whistles, and gongs
    to signal each other over longer distances than voice can carry.
    [73-05-28]
    Sometimes ?trouble? is spelled bells and whistles...
The Free On-line Dictionary of Computing (30 December 2018):
bells and whistles
    (By analogy with the "toyboxes" on theatre organs).
   Features added to a program or system to make it more
   flavourful from a hacker's point of view, without
   necessarily adding to its utility for its primary function.
   Distinguished from chrome, which is intended to attract
   users.  "Now that we've got the basic program working, let's
   go back and add some bells and whistles."  No one seems to
   know what distinguishes a bell from a whistle.
   [Jargon File]
   (2007-04-03)