I usually miss pre-built windows and alert/dialog boxes. The classic "Are you sure? Yes/No". Useful, for example, if you want to ask before deleting some saved data.
A customizable radial joystick is a good idea too. It could return (dx, dy), where dx and dy contain values from 0.0f to 1.0f depending on the distance from the center to max radius distance, or simply the direction vector. The user would only have to customize the backgroudn image and the actual stick, then retrieve current (dx,dy) values and make something. Very easy to use. Example:
CCJoystickRadial * joy = [CCJoystickRadial joystickWithBackgroundImage:bgImage stickImage:stickImage radius:32.0f];
joy.position = ccp(64.0f,64.0f);
float dx = joy.dx; // 0.0f ... 1.0f
float dy = joy.dy; // 0.0f ... 1.0f
A D-Pad is also a good idea but, in this case, it could returns 0 or 1 for dx and dy. The user could provide on single "arrow" image (facing right, 0 degrees for cocos2d) and the hover image, then the class will show 4 arrows (buttons) and form the actual 4 direction D-Pad cross. Also, the user could provide the separation from the center.
CCJoystickDPad * dPad = [CCJoystickDPad joystickWithButtonImage:buttonImage buttonHoverImage:buttonHoverImage separation:24.0f];
float dx = dPad.dx; // 0 or 1
float dy = dPad.dy; // 0 or 1
The 8 D-Pad could be similar to the 4 D-Pad, but you should provide 4 arrow images: 2 for horizontal/vertical direction (normal and hover), and 2 for diagonal direction (normal and hover).
A bunch of built-in joysticks would be a great feature for newcomers, that's for sure, but they should be customizable and easy to setup.