Hi, "가지고 있다" and "있다" means the same as you said.
The other usage of "가지고 있다" I can tell you is that
you would also use "가지고 있다" when you mean "hold something for a minute"
For example, your shoes are untied, but the book you are holding in your hands gets in the way of tying shoes. then you would say
"신발 끈 풀렸네, 잠깐 내 책 가지고 있어봐"
And as for your other question, "가지다"
it is just a basic written form of " to have"
You would rarely use it when speaking.
And finally, regarding 가지고 in some other verbs, like 가지고 놀다 and 가지고오다,
가지고 놀다 can be used
1.when you refer to "playing games with someone's heart"
as in romantic relationships.
2.when Simply checking some new gadgets and gizmos out, trying them out
가지고 오다 is used
as the same with " bring something" , which means to carry or convey it somewhere.
you might bring your friend cookies as a thank you, and say "고마워서 쿠키 가지고왔어."