Text Replacements synchronisation between iOS and OS X does not work properly Note: As pointed out by Andreas Fischlin this entire QA is using incorrect terminology.
I have changed the main title to correctly reflect the discussion is about Text Replacements not Shortcuts. A shortcut is  Cmd ⌘   S  to save a document etc.
Rather than correct the terminology right the way through, I thought it easier to add this note.



I use keyboard shortcuts on my iPhone a lot. For example, @g which results in @gmail.com, or addr for my home address. I have got multiple OS X and iOS systems. I believe shortcuts in sync via iCloud.

On OS X some of my shortcuts are quite annoying because typing @g always results in @gmail.com without giving me a suggestion first (like it does on iOS) (btw, it took me quite some effort to type this sentence as it was continuously extending @g ...)

When I delete a keyboard shortcut on device A (OS X), just one day later, the removed shortcuts are back! Furthermore, created shortcuts on device B (iOS) appear on device A, but removed shortcuts from device B are not removed on device A.

I do not understand the logic of syncing keyboard shortcuts:


Is it possible to disable automatically completing my shortcuts on OS X?
Should the shortcuts be in sync between OS X and iOS?
Why are removed shortcuts keep coming back?
How can I fix the synchronisation between shortcuts on my machines?




On OS X, I have 'Correct spelling automatically' disabled.



iOS gives the keyboard shortcut as a suggestion.

On iOS go to: Settings > General > Keyboard > Shortcuts

On OS X go to: System Preferences > Keyboard > Shortcuts > Text
First, to answer your questions:


Keyboard shortcuts do sync between OS X and iOS. However, in my experience this has always been quite slow, with the Mac taking a long time to recognize keyboard shortcuts I added on the phone.
Turning the synchronization off would require disabling the syncing of documents and preferences, which would also disable quite a lot of things that should be synced, so this is not really an option.
It seems that shortcuts are stored in several locations on an iPhone. Some of these can be deleted (which is what happens when you delete a shortcut), but some of them can't. These not-really-deleted shortcuts then sync again to iCloud, causing your problems. There is an Apple Forum post detailing how to delete the shortcuts, that you might wanna try (on your own risk, though.)


Now, for some fixes:


You could change your shortcuts. E.g. having a prefix like ;; in front of your shortcuts would make sure you only expand what you really want to. Also, it's not that much effort for typing. Similarly, I use l@g for expanding my email-address, which doesn't make any problems since I never type l@ anywhere else. This could be called a workaround, but as it seems it's the only option that should work reliably.
Using TextExpander you should be able to configure the sync more easily. However, I don't have any experience with it, and I'd recommend the first solution.