This is not 100% correct.
While yes, it is certainly might somehow be possible to find the IP, practically this is very hard to do.
Own transaction which a node sends out looks just the same to the other nodes as someone else's transaction. Bitcoin does not only redistribute it's own transactions, but all the transactions from the network that it has collected up to that point.
So sure, if you have control over the majority of the network, and have somehow synchronised their clocks to milliseconds, then maybe, in certain cases you can possibly do a timing attack and guess which node was the first one sending a certain transaction.
But in reality - No.
To paraphrase the example in the Anonymity page of the wiki, lets say that a user posts in the forum, as well as wants to remain anonymous. The user posts a bitcoin address in his signature, and because he's helpful, people send him the occasional coin. By watching his transactions, and their sizes (which are public), you can get a very good idea which other accounts are owned by our forum user. And since forums are easier to trace than bitcoin, you now have a strong connection between IPs, usernames, locations, etc to a bunch of bitcoin addresses. Changing your receive address every time you get accept a new transaction makes this harder, but people aren't always good with that, especially if you are using bitcoins to make purchases.
Yep, of course, I thought that was implied if someone wants to stay anonymous.
Also, if someone publically writes "my ip is this and my address it this", it also becomes very easy to find him/her
I don't mean someone types "my ip is this and this," I mean someone types "my bitcoin address is this and this." Boards tend to keep track of IPs anyway. I'm not sure if it's available to anyone but the administrator, but they usually do. Also, people tend to use the same/similar handles on a lot of different internet sites, so that's just more tracking data.