A CustomItem is customizable by subclassing to introduce new visual and interactive elements into Forms. Subclasses are responsible for their visual appearance including sizing and rendering and choice of colors, fonts and graphics. Subclasses are responsible for the user interaction mode by responding to events generated by keys, pointer actions, and traversal actions. Finally, subclasses are responsible for calling Item.notifyStateChanged() to trigger notification of listeners that the CustomItem's value has changed.
in other terms with help of this class you can build components that are not available by JME API such as drop down menu customized choice selectors examples can be found in chapter 7 Beginning J2ME-From Novice to Professional, chapter 10 Kicking Butt with MIDP and MSA or used in GUI design - Contact List, Part 2 to create two line contact list
Spacer API description is very clear if you do not understand it you better say which part
A blank, non-interactive item that has a settable minimum size. The minimum width is useful for allocating flexible amounts of space between Items within the same row of a Form. The minimum height is useful for enforcing a particular minimum height of a row. The application can set the minimum width or height to any non-negative value. The implementation may enforce implementation-defined maximum values for the minimum width and height.