They are similar in the main target or objective. Each of them is trying to minimize the downtime and move it to the selective outage zone (for example, maintenance and/or upgrade) instead of the foreced outage zone.
The PM is based on the intense experience of the most probable time to fail. Based on that, neat time-based inspection and maintenance schedules are prepared. These maintenance actions are to be performed regardless of the actual condition of an item, or a system. Therefore, they sometimes show uneconomical performance. For cost reduction, the CBM is constructed. The actual condition of the item or the system determined based on HMI system of various automation levels. For the CBM is better than the PM considering various aspects provided that the monitoring and diagnosis systems are available, and affordable.
CBM is a type of PM in which the maintenance decision is not predetermined (e.g. based on experience or statistically), but taken on the basis of current information about the state of the object.
The similarity resides in the word maintenance: both approaches aim at keeping the object of maintenance in good shape. They differ on their time-lines. If it is a preventive maintenance, you do it at a pre-set time, no matter what. If it is a condition-based maintenance, you do it when the state of the object of maintenance requires it (i.e. has deteriorated to or below what is the acceptable operating state).
If you buy new machine and don't know how it will work you have to use PM. After 3-5 years you will see some of the machine parts broken short time after the maintenance controls done. In this case you can use conditional checking systems and devices to see what happen. for example hyrolic oil. Oil companies collecting oil samples than they say oil ok continue or defect , refresh it. Or you can use particle counter in oil connected to SCADA system. If some parts broken , you can see and plan maintenance. CBM will be good for machines some of them full working , some of them sometimes working.