Repeaters relay messages between companion radios, room servers, sensors and other repeaters. Other devices with different roles such as Companion, sensor, or room server (without repeat enabled) cannot communicate with each other directly.
Lack of direct connect is by intention and design, because older protocols would become unstable or unusable as the number of users increased. MeshCore took a different approach to solve the "scalability problem." MeshCore companions have a "repeat" functionality to that they can direct-connect with each other, which changes the channel to avoid repeaters. This is so people can direct connect with each other, for example, on hikes where the people may be within radio range of each other but not a repeater.
The repeater cannot decode or reveal messages. Companion devices, room servers and sensors encrypt the messages prior to sending them to the network and can these messages can be only read by the recipient.
The height, location and a good antenna of a repeater do more to improve the mesh's coverage than transmitter power. It is however preferred to use the same power between repeaters in order to have balanced links between repeaters.
Room servers can also have repeater functionality enabled, if the owner chooses to enable it.