Disclaimer: You should start out only mapping difficulty that you can play. This way you can test if something feels like shit simply by playing it.Jump spam and deathstream spam are both mindnumbingly boring. Since I'm bored I'll go into a bit more detail. Note that this will be highly influenced by my subjective view of what is fun. To start I'll go over the difference between subjective and objective issues and how you should approach them:
Objective vs SubjectiveObjective: Something that is indisputably incorrect. Semantically speaking this means that it's something that every community appointed expert would agree is incorrect. You should always address any objective issues.
Subjective: Something that would be considered correct by some people and incorrect by others. More specifically anything in here fall into a grey area among community appointed experts and there is no universally agreed upon convention for whether something is good/bad among them. You shouldn't dismiss these issues as "lol subjective opinion." Rather, you should take them into consideration and decide whether or not you agree and to also understand which audience you are mapping for. If there is a compromise that can be made that won't ruin your map for your target audience but will greatly improve it for everyone else then you should probably make the change. Basically don't be stubborn/lazy.
Spacing and ConsistencyIt is objectively agreed upon that your spacing should be consistent throughout the map. To be more subjective there are two ways to accomplish this and in my opinion simply satisfying the former leads to very bland maps even if they might by mapping standards be considered well mapped.
Consistency with itself: there shouldn't be any part of your map where the spacing feels way out of proportion in comparison to the rest of the map. Often times people accomplish this (especially in lower difficulties through use of distance snap) by making spacing within each section almost static (unchanging).
Consistency with the music: any changes to the spacing of circles should loosely match the ups and downs in intensity of the map. If you accomplish this type of consistency you'll indirectly accomplish the first type of consistency since the intensity of music tends to be the same for like sections. The best way to describe the difference is simply to show pictures of this imo and you'll find some good examples below. A common saying among musicians is that music "is always going somewhere or coming from somewhere." Think of music as a sin curve with the amplitude changing between sections.
FlowAnother large component of mapping is how well the patterns flow. When good flow is accomplished large spacing can feel easy to play. When flow is broken small spacing can feel larger. You can effectively accomplish "changes in spacing" by simply using patterns that flow differently. Think squares vs. triangles vs. back and forths. Through effective use of varying flow patterns, flow breaks, and spacing you can create a wide variety of patterns to match the ups and downs in the music.
Slider leniencyI won't go into too much detail here - you can find a lot more information in actual mapping guides on all of these things and how to use them tbh. Mostly just looking through things that are well mapped can give you a good idea on slider leniency uses etc. You can compensate for the leniency by using them in more difficult patterns or simply use them to give the player a break of sorts. Basically there are 3 ways that sliders are lenient:
Slider head leniency: the leniency on the slider head is largely timing related. If you hit the slider head anytime within the 50/100/300 windows you will get a 300 on the slider. Often used to ease the player into bpm changes or to just compensate for larger spacing to make things feel crazier without actually being more difficult. Important note is that this leniency cuts off as soon as the first repeat or end of the slider hits so hitting a buzz slider or kick slider in the 100/50 window (or even the 300 window) can cause breaks.
Slider tail leniency: you can miss the last tick of a slider without breaking combo but doing so will result in a 100 and not getting the last tick of combo from the slider.
Slider follow ring leniency: as long you remain within the follow ring of a slider you will get credit for any ticks. This effectively lets players get a head start on the next jump coming out of a slider or if the next circle is within the ring they can move onto it and pause while waiting for the slider to finish up.
Here I'll just start linking images where clever uses of spacing and flow are used consistently with the ups and downs of the music to make the maps more interesting. The biggest thing I hope to accomplish is to highlight is that difficult maps can be made without simply spamming bland large jumps or deathstreams.
Notice how the patterns below are pretty back and forth or how they transition between large triangular flow and tight squares. The tight squares don't feel as small as the spacing may look.
Just a couple of cool slider uses where some crazy stuff can be accomplished since they are so lenient.
Quick note on stream flow. Keep in mind that the sharper a curve is the harder a stream feels to aim. This is why maps like freedom dive, ice angel, etc. are so difficult to aim despite having fairly static stream spacing. Straight line streams even when spaced quite a bit can feel much easier than curves or spaced ladders (basically back and forths) so you should keep this in mind.
When there is a sudden "unexpected" series of sounds you can toss in a widely spaced stream. Note that this only works well in the correct genre of music where unexpected musical "jabs" are expected. When a player is expecting the unexpected simply seeing a hugely spaced pattern is enough to be readable. It has to actually fit the intensity of the sound though. Straight lines work best here because it waters down the difficulty despite the extreme spacing.
You could classify the below type of stream jump as a clever use of slider leniency.
More strict than the slider variant, you need to be very cautious on the spacing and the change in direction otherwise they end up playing like complete shit. They require a lot of cursor control and are really fun when mapped correctly (if you can play them).
Usually streams are mapped to musical phrases that happen to be rising or falling and as such expanding or compressing the stream spacing can just feel right. The continuous type below are usually avoided since there's not really a good way to convert them from sliders in the editor and mapping streams by hand can be messy. Basically they take more time to look worse in many cases than the other variation of this stream pattern.
The discrete compression/expansion streams only change spacing on new combos so you can use the slider to stream function to map each chunk which tends to make them cleaner. I can't really comment as to whether there is a noticeable difference in play-ability compared to the continuous version.
Hanzer streams are basically when there is a stream jump every other circle usually with the stream spacing being quite small. These usually require extreme cursor control since it's very touch and go to play. They make the most sense in more wub/electronic genres.