A good platformer is defined by the satisfaction of the movement. Every mechanic and enemy is built around this. So, when creating a platformer, a large amount of time and energy is invested into the movement.
There are many intricacies in the creation of platform movement. The most obvious is the jump. To create a satisfying jump, one of the most important things to remember is the player. Most players cannot do things frame perfect. So, in order to prevent player frustration and, in general, to make things fair, certain "cheats" must be implemented.
The first of these cheats is commonly called "coyote time" where a player will have a small window while in the air to jump. Essentially, letting a player jump when in reality they missed timed their input. This prevents any frustration from the player of seemingly "slipping" off of surfaces and improves the feeling of responsiveness.
Another version of this is called "jump buffering" where a player's jump input will register even if they haven't touched the ground. It's another tool that increases responsiveness and combined with "coyote time" will vastly improve a movement system. This same logic of buffers and windows can be applied to many things in movement and various mechanics in order to better a player's feeling when engaging in those systems.
Acceleration is a bit harder to nail down. In my opinion, there always needs to be a small window of acceleration that the player can feel. Even in games like Hollow Knight, the acceleration isn't actually instantaneous, just extremely quick. One of the benefits of this is control, a major pillar of platforming movement. Having acceleration allows a player to make small steps without fighting the controls. Additionally, on a more personal note, there's this visceral feeling of acceleration that makes the movement more realistic in a sense which adds to the experience even if just a bit.
On the topic of control, there are two more things that are generally implemented to add to this aspect: variable jump height and fall gravity. Variable jump height is allowing the player to decide if they want to end a jump early. This allows for small hops as opposed to only having a singular type of jump height while simultaneous making the jump feel more responsive. Letting go of a jump and seeing your character continuing to go up creates moments of disconnect between the controls and the visuals. There are ways to alleviate this, of course, such as designing your game around this, but generally, it is a good feature to have. Fall gravity is simply increasing the gravity of a player as they are falling, reducing the feeling of "floatiness" that can ruin a good jump. It's all about responsiveness. When a player wants to fall, they let go of jump and thus plummet to the ground giving them control again to move around.
The other things that are usually added to movement are the mechanics. Some of these are like double jumps and dashes. These are, at their core, optional mechanics that can be implemented though they are so engrained into the platformer genre that most have them. They add another layer of complexity to the movement and require more thought to be put into the design of levels due to the greater vertical and horizontal range of the player. Overall though, it is entirely up to the designer whether or not they believe such movement mechanics are needed in the game they are creating.