Taking the bus from Johor Bahru, Malaysia to Singapore is easy once you know what to do.
First go to the Custom and Immigration Quarantine Complex (CIQ) in downtown Johor Bahru right near the causeway to Singapore. Walk through the complex to leave Malaysia (you need your passport, obviously). Once you clear Malaysian passport control you follow the signs to Singapore/Woodlands for the bus (on your left after you leave the passport area). You go downstairs and catch your bus. You pay for the bus, on the bus.

Lines for bus to Singapore at Malaysia CIQ. On the signs (and the ground) they list what buses the queues are for.
There are various options but the 3 most common are:

Kranji MRT in Singapore. There is a bakery right where the bus lets you off. To catch the bus back to Customs you have to cross over the road so you are on the opposite side from the MRT.
The busses will take you across the causeway to Singapore and then you will disembark (with any luggage and belongings) and go through Singapore customs and then go back downstairs and catch your bus. The CW1, CW2, 170 and 160 run frequently during the day and evening (every few minutes to every 15 minutes for some).
Overall it is an easy process and doesn’t take too long. But at rush hours (especially Friday night or on holidays) it can get very busy and backed up. I hear the morning rush from JB into Singapore is pretty bad, but I have gone a bit later (9:30 AM) when I have gone, and it has been fine (most of the time).
The prices are from Singapore to JB are the same number but in SGD which means about 2.5 times as much money. So, for example, from Queen Street to JB is $3.30 (versus 3.30 RM).
Related: Bus to Jusco in Permas Jaya – Plaza Pelangi in Johor Bahru Town – resources for living in Johor Bahru