Sihanoukville is not exactly a small city. Additionally, roads mostly don't have sidewalks, traffic is chaotic, and there are just lots of messy construction activities going on. All these things together make it not a very walkable city. That being said, if you're just walking on or along a single beach (like Otres Beach), then it's fine
If you need to get to different parts of town that's not walkable, these are the four ways to get around town:
Tuk tuks: this is the most common way to get around town. Tuk tuks are everywhere and is quite easy to hail one on the street (just approach any parked ones or simply raise your arm to hail a moving one). You will need to negotiate every time you hail a tuk tuk because the drivers usually inflate their rates. Here are the price ranges for some specific routes:
Serendipity Beach to Otres Beach: $6-$8USD
Independence Beach to Serendipity Beach: $3-5USD
Serendipity Beach to Sihanoukville Port: $3-$5 USD
Airport to Otres Beach: $5-15USD
Airport to Serendipity Beach: $10-20USD
PassApp (http://passapptaxis.com): this is overall the best way to get around Sihanoukville. It works like Grab or Uber in that you use the mobile app to get a vehicle, and you can track the status in real time on a map.
I've used this app in Sihanoukville and my experience with this app is that the wait time is longer than what you'd expect with Uber and Grab (10-20 minute wait time), but the experience is pretty smooth overall. Oh I should mention that the app does not work with credit cards. You need to pay the driver with cash
With this app you have the option to pick a regular car, rickshaw, tuk tuk, or SUV. The regular car option is about 35% cheaper than a traditional taxi you can call. The tuk tuk and rickshaw options offered by this app have similar prices as if you get one yourself off the street, but the advantage of using this app is that you don't have to worry about haggling with the tuk tuk drivers as this app already has pretty much the lowest prices that tuk tuks will go for (e.g. $2-$3 to travel across the town centre area). The SUV option is the most expensive, but you can roll around town in style
After you download the app, as part of the set up process it will send you a text message to verify your phone number. So it's best if you download and set up the app before you go to Cambodia so that you can receive the text messages. Obviously to use this app in Cambodia you will need to have internet connection, either wifi or SIM card
Taxi: primarily used to get to/from the airport, and to a lesser extent for getting to nearby towns like Kep and Kampot. From the airport, it's very easy to get a taxi to take you into the town centre for $20USD (to Otres Beach is $15USD). Getting a taxi at the airport can be done at the designated office there. Read this brief for more details on airport transportation in Sihanoukville. Getting a taxi in the city centre is best done by asking your hotel to call one for you. None of them are really metered so it's best to agree on a price before you hop on
Ferry: there are two big islands that are technically part of Sihanoukville and are only accessible by ferry: Koh Rong and Koh Rong Sanloem. These islands are both much more beautiful than Sihanoukville itself and are both very popular destinations for visitors. The ferries all depart from Serendipity Pier (located here). Prices are all $12USD one way and $22USD round trip.
Currently there are 4 ferry operators you can book with:
Check the websites of these ferry operators for their current schedule and prices. You can also book directly on their sites. Of course, you can also go to the ferry operators' offices in Sihanouville to book in person; they're all close to Serendipity Pier, but you can find the exact location on their websites