what is a component-based development?
It could be a simple java class or a packaged jar standalone/deployble solving either functional/non functional aspect of a large system. The components can be either finegrained or coarse grained depending on the business context.
Usually resource managers confuse rookies by misusing term "usecase" in place of components. Usecase and Components are completely different. One use case may consist of front end component A middletier component B and back end component C, where as middle tier component B may participate in some other usecases as well.
With respect to Web (front-end) development, component based development typically involves the use of widgets that have Look (eg input text) and Feel (eg behavior like validation) characteristics.
Typically web based component development has both simple components (e.g. Label), complex components (e.g Table or Tree) and layout components (e.g. Split Panel).
HTML or DHTML is not really component based development where as Flex, JSF, .NET are. A component is supposed to be a black box representation of a complex system consisting of one or more primitive parts. It hasg a well defined interface with consistent behavioral characteristics.